Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Предупреждение
    titleAttention
    Perform a full backup
  2. You need to mask all nodes on the server and disable node autostart:
    Блок кода
    titleon ecss1
    sudo systemctl mask --now ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm

    Информация

    When the attached command is executed, a notification will be displayed.

    Без форматирования
    Warning: The unit file, source configuration file or drop-ins of ecss-ds.service changed on disk. Run 'systemctl daemon-reload' to reload units.
    Warning: The unit file, source configuration file or drop-ins of ecss-mycelium.service changed on disk. Run 'systemctl daemon-reload' to reload units.
    Warning: The unit file, source configuration file or drop-ins of ecss-mediator.service changed on disk. Run 'systemctl daemon-reload' to reload units.
    Warning: The unit file, source configuration file or drop-ins of ecss-core.service changed on disk. Run 'systemctl daemon-reload' to reload units.
    Warning: The unit file, source configuration file or drop-ins of ecss-pa-sip.service changed on disk. Run 'systemctl daemon-reload' to reload units.

    These messages are not errors. Continue with the procedure.

  3. Update the ssw repository:
    Блок кода
    titleon ecss1
    sudo sh -c "echo deb [arch=amd64]  http://archive.eltex.org/ssw/jammy/3.18 stable main extras external > /etc/apt/sources.list.d/eltex-ecss10-stable.list"
  4. Perform package update:
    Блок кода
    titleon ecss1
    sudo apt update

    Примечание

    If you see this system message:

    Без форматирования
    W: http://archive.eltex.org/ssw/jammy/3.18/dists/unstable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

    Run the following command:

    Блок кода
    titleon both hosts
    sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d


  5. Updating PostgreSQL:
    1. Turn off the Docker container:
      Блок кода
      titleon ecss2
      sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml down

      Блок кода
      titleExample:
       sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml down
      [+] down 2/2
       ✔ Container ecss-postgres-bdr-ssw-postgres-container-1 Removed                                                                                                                           
       ✔ Network ecss-postgres-bdr-ssw_default                Removed 
    2. Remove the old deb package, since the upgrade option is not supported:
      Блок кода
      titleon ecss2
      sudo apt remove ecss-postgres-bdr-ssw
      Предупреждение
      title!!Important!!

      Run remove, not purge, because remove preserves the volumes directory with our database tables.


      Блок кода
      titleExample:
      sudo apt remove ecss-postgres-bdr-ssw
      Reading package lists... Done
      . . .
      The following packages will be REMOVED:
        ecss-postgres-bdr-ssw
      . . .
      Do you want to continue? [y/n] y
      Deleting ecss-postgres-bdr-ssw (17.1.0.59+ssw) …
    3. Install a new deb package:
      Блок кода
      titleon ecss2
      sudo apt install ecss-postgres-bdr-ssw 
      Предупреждение
      title!!IMPORTANT!!

      During installation, you will be asked the same questions as during the initial installation:

      The answers must exactly match those specified in the procedure, otherwise an attempt will be made to create a new database and the installation will fail.

      Информация
      QuestionReplyExample

      The current IP address of the network interface.


      10.0.10.41 (select)

      Install on a cluster?

      Select <Yes> if the package is installed on a cluster node.

      No (select)


      Блок кода
      titleIf the installation is successful, at the stage of raising replication we will see:
      sudo apt install ecss-postgres-bdr-ssw
      . . .
      ==================
       Create databases 
      ==================
      Database ecss_storekeeper_db already exists, skipping...
      Database web_conf already exists, skipping...
      Extension btree_gist already exists, skipping...
      Extension bdr already exists, skipping...
      
      ===================================
       Creating Postgres Exporter Schema 
      ===================================
      Node IP: localhost
      psql:/srv/ecss/ecss-postgres-bdr-ssw/schema.sql:1: NOTICE:  schema "postgres_exporter" already exists, skipping
      CREATE SCHEMA
      GRANT
      CREATE FUNCTION
      CREATE VIEW
      GRANT
      CREATE FUNCTION
      CREATE VIEW
      GRANT
      psql:/srv/ecss/ecss-postgres-bdr-ssw/schema.sql:28: NOTICE:  extension "pg_stat_statements" already exists, skipping
      CREATE EXTENSION
      CREATE FUNCTION
      CREATE VIEW
      GRANT
      . . .
      =======================================================
      =======================================================
       ecss-postgres-bdr-ssw successfully installed/updated! 
      =======================================================
      =======================================================
      
      
      ┏┓┏┓┏┓┏┳┓┏┓┳┓┏┓┏┓  ┳┓┳┓┳┓  ┏┓┏┓┓ ┏
      ┃┃┃┃┗┓ ┃ ┃┓┣┫┣ ┗┓  ┣┫┃┃┣┫  ┗┓┗┓┃┃┃
      ┣┛┗┛┗┛ ┻ ┗┛┛┗┗┛┗┛  ┻┛┻┛┛┗  ┗┛┗┛┗┻┛
    4. After installation, check that the new image has been pulled in and Docker has started by running the command:
      Блок кода
      titleon ecss2
      sudo docker ps

      Блок кода
      titleexample:
      sudo docker ps
      CONTAINER ID   IMAGE                                           COMMAND                  CREATED              STATUS              PORTS                                         NAMES
      bf73743d3e09   git.eltex.loc:4567/ecss/ecss-postgresbdr:3.18   "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:5439->5432/tcp, [::]:5439->5432/tcp   ecss-postgres-bdr-ssw-postgres-container-1
  6. Updating the ecss-dns-env package:
    Блок кода
    titleon ecss1
    sudo apt install ecss-dns-env

    After the update, you need to update the configuration by running the command. The answers to the questions are similar to the installation procedure:
    Блок кода
    titleon ecss1
    sudo dpkg-reconfigure ecss-dns-env
  7. Update the ecss-user package:
    Подсказка

    When updating, you need to apply new configuration files (confirm with -Y).


    Блок кода
    titleon ecss1
    sudo apt install ecss-user
  8. Update the ecss-utils package:
    Блок кода
    titleon ecss1
    sudo apt install ecss-utils
  9. Раскрыть
    titleIn case of using ELM licensing

    Install the License Provider package:

    Блок кода
    titleon ecss2
    sudo apt install ecss-license-provider

    When installing the ecss-license-provider package the following questions will be asked:

    QuestionsAnswersExamples

    License Provider listen ip:

    0.0.0.0 (default value)

    License Provider listen port:4321 (default value)

    Log level:info (default value),
    possible options: debug, error, info

    License Provider cluster key:

    specify a unique name
    ecss-lm-cluster (default value)

    Подсказка

    Managers with the same names will attempt to form a cluster for mutual redundancy.


    What services should be restarted?

    ecss-license-provider.service (default value)

    The data is saved to the /etc/ecss/ecss-license-provider/config.env file:

    Без форматирования
    ECSS_LM_HOST=0.0.0.0
    ECSS_LM_PORT=4321
    ECSS_LM_LOG_LEVEL=info
    RELEASE_COOKIE=ecss-abf-lm-cluster

    Configuring License Provider (LP)

    The ecss-license-provider service uses two configuration files: /etc/ecss/ecss-license-provider/config.env and /etc/ecss/ecss-license-provider/config.yaml.

    The information is saved to the config.env file when the ecss-license-provider is installed.

    The config.yaml file contains general settings for connecting to the ELM server and information about licenses: what licenses to take, where to take them from, and where to send them, all this information should be configured manually.

    Блок кода
    titleinformation in the file after installation
    elm_addresses: []
    licenses: []
    ecss_nodes: []
    To fill out these fields, open the ecss-elm-adapter configuration file used in the version 3.17 /etc/ecss/ecss-elm-adapter/config.env:
    Блок кода
    titleon ecss2
    сatcat /etc/ecss/ecss-elm-adapter/config.env 
    ELM_HOST=elm.eltex-co.ru
    ELM_PORT=8099
    ECSS_PRODUCT_ID=ECSS2000000
    ECSS_LICENSE_KEY=ssw987654
    LOG_LEVEL=info
    LICENCE_FAIL_TIMER_SECONDS=10
    LICENCE_PULL_TIMER_SECONDS=360

    In the elm_addresses field, you must specify a list of ELM servers to which you want to connect to obtain licenses. First address in the list is used as the main one. Additional lines contain backup addresses.
    Example:
    - "elm.eltex-co.ru:8099"
    - "192.168.111.22:8099"
    - "elm-3.eltex.loc:8099"

    Then licenses in the licenses field are specified.

    • The id can be anything, as long as it is unique for each license. It only affects the license address on the License Provider itself (e.g., 0, 1, 2, 3).
    • kind. For SSW, only SSW (in uppercase) is supported.
    • type is set to elm if this license is to be requested from the ELM server. If you need to use an SSW file-based license, set the type to ecss_license.
      • For the elm type, you must specify the license_key and product_id fields to identify the license.
      • For the ecss_license type, specify the license field, which contains the static license key.
    Примечание

    license_key = ECSS_LICENSE_KEY and product_id = ECSS_PRODUCT_ID parameters must match the data previously uploaded to the ELM server.

    ecss_nodes block.

    You must specify the details of the services that will receive the license. A service is defined by three parameters:

    • id - the service identifier. In the case of SSW, this must match the ECSS_ID of the SSW being licensed.
    • kind - the type of service being licensed. As with the licenses block, the SSW and AUP types are supported. For SSW, only the SSW type is supported.
    • license_id - the identifier of the license that will be sent to this service. It corresponds to the license identifiers from the licenses block
    Примечание

    Two SSWs with different ECSS_IDs cannot receive the same license; a configuration with such an assignment will be marked as invalid.
    Additionally, two SSWs with identical ECSS_IDs cannot simultaneously obtain the same license from a single License Provider; therefore, it is extremely important to set your ECSS_ID correctly and ensure it is unique, at least within the scope of the License Provider being used.

    Подсказка

    ECSS_ID format.
    It must begin and end with a Latin letter or a digit; periods and dashes may be used within the string.

    Без форматирования
    [A-Za-z0-9][A-Za-z0-9.-][A-Za-z0-9]
    Блок кода
    titleExample of a config.yaml file based on data from the file
    elm_addresses:
     - "elm.eltex-co.ru:8099"
    licenses:
     - id: 0
       kind: SSW
       type: elm
       license_key: "ssw987654"
       product_id: "ECSS2000000"
    ecss_nodes:
     - id: eltex1.test
       kind: ssw
       license_id: 0

    Restart the ecss-license-provider.service service to up date the configuration from the /etc/ecss/ecss-license-provider/config.yaml file via the following command:

    Блок кода
    titleon both hosts if there is a cluster
    sudo systemctl restart ecss-license-provider.service
  10. Update the ecss-node package:
    Блок кода
    titleon ecss1
    sudo apt install ecss-node

    During installation, you will be prompted to configure the settings required to generate the configuration files; examples of possible answers are provided below.

    ecss-node questionsAnswers for ecss1Example

    Cookies for the core node:

    ecss-core (default value)

    Подсказка

    It is recommended to replace this with a unique value

     


    Cookies for the ds node

    ecss-ds (default value)

    Подсказка

    It is recommended to replace this with a unique value

     


    Cookies for the mediator node:

    ecss-mediator (default value)

    Подсказка

    It is recommended to replace this with a unique value

     


    Cookies for the pa-sip node:

    ecss-pa-sip (default value)

    Подсказка

    It is recommended to replace this with a unique value

     


    Cookies for the mycelium node:

    ecss-mycelium (default value)

    Подсказка

    It is recommended to replace this with a unique value

     


    Use the current version of the configuration file?

    No (default value)


    Подсказка

    When updating, you must apply the new configuration files (confirm with -Y).

     

  11. Enable the nodes.
    Enable the SSW services using the following commands: 
    Блок кода
    titleна on ecss1
    sudo systemctl unmask ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm

    Блок кода
    titleна on ecss1
    sudo systemctl enable ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm
  12. Запуск Starting SSW на on ecss1. Запустите следующие сервисыStart the following services:
    ecss-mycelium
    Блок кода
    titleна on ecss1
    sudo systemctl start ecss-mycelium
    ecss-ds
    Блок кода
    titleна on ecss1
    sudo systemctl start ecss-ds
    ecss-core
    Блок кода
    titleна on ecss1
    sudo systemctl start ecss-core
    ecss-mediator

    Если лицензия поддерживает СОРМ3, то запустить также сервис ecss-sorm.

    Блок кода
    titleна on ecss1
    sudo systemctl start ecss-mediator
    Подсказка
    Блок кода
    titleна ecss1
    sudo systemctl start ecss-sorm

    Предупреждение

    Do not start

    Предупреждение

    Пока не следует запускать PA-SIP !yet

  13. Check the status of services by running the Проверьте статус сервисов, для этого выполните в CoCon команду system-status command in CoCon:
    Без форматированияcode
    titleвыполняется в performed in CoCon
    /system-status 
    Checking...
    ┌─┬───────────────┬────────────────────────┬───────────────┬────────────┬──────┐
    │ │     Node      │        Release         │ Erlang nodes  │Mnesia nodes│Uptime│
    ├─┼───────────────┼────────────────────────┼───────────────┼────────────┼──────┤
    │ │core1@ecss1    │ecss-core-3.18.0.271    │core1@ecss1    │not running │14m 4s│
    │ │ds1@ecss1      │ecss-ds-3.18.0.271      │ds1@ecss1      │ds1@ecss1   │14m 4s│
    │ │md1@ecss1      │ecss-mediator-3.18.0.271│md1@ecss1      │md1@ecss1   │14m 4s│
    │ │mycelium1@ecss1│ecss-mycelium-3.18.0.271│mycelium1@ecss1│not running │14m 4s│
    │ │sorm1@ecss1    │ecss-sorm-3.18.0.271    │sorm1@ecss1    │not running │14m 5s│
    └─┴───────────────┴────────────────────────┴───────────────┴────────────┴──────┘
    
    All services are started.
    
      Active media resource selected list specific:
    ┌─────────────┬───────────┬────────────┬───────────┬───────────┐
    │    Node     │    MSR    │    MSR     │ Cc-status │ Cc-uptime │
    │             │           │  version   │           │           │
    ├─────────────┼───────────┼────────────┼───────────┼───────────┤
    │ core1@ecss1 │ msr.ecss1 │ 3.17.1.1.7 │ connected │ 00:43:03  │
    └─────────────┴───────────┴────────────┴───────────┴───────────┘
  14. Режимы лицензированияLicensing modes.
    Раскрыть
    titleВ случае использования файлового лицензированияIf a file-based license is used
    Информация
    titleВ случае использования файлового лицензированияIf a file-based license is used

    No additional actions are requiredНикаких дополнительных действий выполнять не требуется.

    Без форматирования
    /cluster/storage/ds1/licence/list-licence
    ┌──┬───────────────────┬────────────────┬──────┬────────────────────────────────────────────┬────────────────────┬────────────┐
    │Id│Creation date(UTC) │     SSW ID     │Active│                Description                 │Expiration date(UTC)│ Time left  │
    ├──┼───────────────────┼────────────────┼──────┼────────────────────────────────────────────┼────────────────────┼────────────┤
    │1 │31.10.2025 14:16:00│ECSS 010070     │*     │Eltex SC softswitch                         │31.12.2026 23:59:59 │224d 21h 31m│
    │0 │                   │ECSS DEFAULT    │      │Default licence                             │                    │            │
    └──┴───────────────────┴────────────────┴──────┴────────────────────────────────────────────┴────────────────────┴────────────┘
  15. Раскрыть
    titleВ случае использования ELM лицензированияIf the ELM licensing is used

    Configure the SSW connection to the License Provider using the following command in CoCon (in this example, the License Provider is installed in the ecss1 host, hosts' IPadd is Выполнить конфигурацию подключения SSW к License Provider следующей командой в CoCon, (в примере License Provider установлен на хосте ecss1, IPadd хостов 10.0.10.41. Значение порта из файла The default port value from the/etc/ecss/ecss-license-provider/config.env по умолчанию  file is 4321):

    Блок кода
    titleвыполняется в performed in CoCon
    /system/licence/manager/set --hosts [https://10.0.10.41:4321]

    После выполнения проверить статус подключения командойAfter execution, check the connection status with the following command:

    Блок кода
    titleвыполняется в performed in CoCon
    /system/licence/manager/show-status
    ┌───────────────────────┬───────┬─────┐
    │         Host          │Current│Alive│
    ├───────────────────────┼───────┼─────┤
    │https://10.0.10.41:4321│*      │true │
    └───────────────────────┴───────┴─────┘

    Хост должен иметь статус Teh host should have a status of alive=true . И быть «current».and be “current.”  

    • Current - отображает к какому хосту подключён SSW. Если есть подключение, указывается *, если нет - ничего не указано.indicates which host the SSW is connected to. If there is a connection, * is displayed; if not, nothing is displayed.
    • Alive - displays the host’s availability status Alive - отображает статус доступности хоста (healthcheck).
    Информация
    titleПодключение к Connecting to the License Manager

    Отсутствие подключения к License Provider \ ELM будет равноценно отсутствию доступа к токену, что приведёт к критическим авариям, переходу в аварийный режим по истечении которого, если связь не будет восстановлена, система перейдёт на Default-лицензию.

    Данное поведение применимо только при работе в elm-режиме.

    A lack of connection to the License Provider or ELM is equivalent to a lack of access to the token, which will lead to critical failures and a transition to emergency mode; after a certain period, if the connection is not restored, the system will switch to the Default license.

    This behavior applies only when operating in ELM mode.

    If the status for one of the License Provider hosts is shown as “current,” you can send a request to upload the license to the SSW using the following commandЕсли статус к одному из хостов License Provider показан current, можно посылать запрос на загрузку лицензии на SSW командой:

    Блок кода
    titleвыполняется в performed in CoCon
    /cluster/storage/ds1/licence/request
    Блок кода
    titletype=elm
    /cluster/storage/ds1/licence/request      
    Licence received      
    [*******                                                               ] 6s 2ms   
    Success: Licence parameters applied
    Блок кода
    titletype=elm
    /cluster/storage/ds1/licence/list-licence 
    ┌──┬───────────────────┬────────────┬──────┬────────────────┬────────────────────┬────────────────────┬─────────┐
    │Id│Creation date(UTC) │   SSW ID   │Active│  Description   │Comm. Exp. Date(UTC)│Expiration date(UTC)│Time left│
    ├──┼───────────────────┼────────────┼──────┼────────────────┼────────────────────┼────────────────────┼─────────┤
    │1 │14.04.2026 11:18:34│ECSS2000000 │*     │ECSS ELM License│09.04.2027 16:26:34 │06.06.2026 10:49:12 │1d 6h 59m│
    │0 │01.01.1990 00:00:00│ECSS DEFAULT│      │Default licence │                    │                    │         │
    └──┴───────────────────┴────────────┴──────┴────────────────┴────────────────────┴────────────────────┴─────────┘


  16. Обновление пакета Updating the ecss-restfs package.
    Подсказка
    Принять все новые конфигурационные файлы, выбирая 

    Accept all new configuration files by choosing Y.


    Блок кода
    titleна on ecss1
    sudo apt install ecss-restfs
    Обновление пакета
  17. Updating the ecss-media-server package.
    Предупреждение

    The Media Server анализирует конфигурацию в файлах находящихся в директории analyzes the configuration in the files located in the /etc/ecss/ecss-media-server/ directory. В версии Version 3.17 реализована новая функция контроля приоритетности кодеков. Если по какой то причине в нескольких файлах присутствует секция "codec", в которой несколько раз прописывается один и тот же кодек, то после обновления возникнет конфликт, и Media Server работать не будет.

    Поэтому в конфигурационных файлах одного Media Server не должно быть конфликтов по приоритетам кодеков (запись об одном кодеке должна быть одна и не повторяться в других файлах). Решение, на какие именно фалы требуется сконфигурировать, остается на усмотрение администратора системы.

    Выполните обновление:

    introduces a new feature for managing codec priorities. If, for any reason, multiple files contain a codec section that lists the same codec more than once, a conflict will occur after the update, and the Media Server will not function.

    Therefore, there should be no conflicts regarding codec priorities in the configuration files of a single Media Server (there should be only one entry for one codec, and it should not be repeated in other files). The decision regarding which specific files need to be configured is left to the discretion of the system administrator.

    Perform an update:
    Подсказка

    Accept all new configuration files by choosing 

    Подсказка

    Принять все новые конфигурационные файлы, выбирая  Y.


    Блок кода
    titleна on ecss1
    sudo apt install ecss-media-server
    Актуализируйте конфигурациюUpdate the configuration:
    Блок кода
    titleна on ecss1
    sudo dpkg-reconfigure ecss-media-server
  18. Обновление пакета Updating the ecss-media-resources: package
    Блок кода
    titleна on ecss1
    sudo apt install ecss-media-resources
  19. Обновление пакета Updating the ecss-web-conf package
    Блок кода
    titleна on ecss1
    sudo apt install ecss-web-conf
  20. Раскрыть
    titleОбновление пакетов опциональных сервисовUpdating optional service packages
    Обновление пакета

    Updating the 

    ecss-teleconference-ui package.

    Блок кода
    titleна on ecss1
    sudo apt install ecss-teleconference-ui
    Обновление пакета

    Updating the ecss-crm-server package.

    Блок кода
    titleна on ecss1
    sudo apt install ecss-crm-server
    Обновление пакета

    Updating the ecss-cc-ui package.

    Блок кода
    titleна on ecss1
    sudo apt install ecss-cc-ui
    Обновление пакета

    Updating the ecss-call-api package.

    Блок кода
    titleна on ecss1
    sudo apt install ecss-call-api
    Обновление пакета

    Updating the ecss-peeper-client package.

    Блок кода
    titleна on ecss1
    sudo apt install ecss-peeper-client
  21. Запустите  Launch ecss-pa-sip:
    Блок кода
    titleна on ecss1
    sudo systemctl start ecss-pa-sip
    Проверьте статус сервисов командой Check the status of services by running the /system-status command:
    Блок кода
    titleвыполняется в performed in CoCon
    /system-status 
    Checking...
    ┌─┬───────────────┬────────────────────────┬───────────────┬────────────┬───────┐
    │ │     Node      │        Release         │ Erlang nodes  │Mnesia nodes│Uptime │
    ├─┼───────────────┼────────────────────────┼───────────────┼────────────┼───────┤
    │ │core1@ecss1    │ecss-core-3.18.0.271    │core1@ecss1    │not running │54m 27s│
    │ │ds1@ecss1      │ecss-ds-3.18.0.271      │ds1@ecss1      │ds1@ecss1   │54m 27s│
    │ │md1@ecss1      │ecss-mediator-3.18.0.271│md1@ecss1      │md1@ecss1   │54m 27s│
    │ │mycelium1@ecss1│ecss-mycelium-3.18.0.271│mycelium1@ecss1│not running │54m 27s│
    │ │sip1@ecss1     │ecss-pa-sip-3.18.0.271  │sip1@ecss1     │sip1@ecss1  │54m 27s│
    │ │sorm1@ecss1    │ecss-sorm-3.18.0.271    │sorm1@ecss1    │not running │54m 27s│
    └─┴───────────────┴────────────────────────┴───────────────┴────────────┴───────┘
    
    All services are started.
    
      Active media resource selected list specific:
    ┌─────────────┬───────────┬──────────┬───────────┬───────────┐
    │    Node     │    MSR    │   MSR    │ Cc-status │ Cc-uptime │
    │             │           │ version  │           │           │
    ├─────────────┼───────────┼──────────┼───────────┼───────────┤
    │ core1@ecss1 │ msr.ecss1 │ 3.18.0.7 │ connected │ 00:01:17  │
    └─────────────┴───────────┴──────────┴───────────┴───────────┘
    Выполните проверку переезда активных регистраций на обновленный хост. Для этого выполните контроль зарегистрированных абонентов на  SSW. Выполните команду в Verify that active registrations have been migrated to the updated host. To do this, check the registered subscribers on SSW. Execute the following command in CoCon:
    Блок кода
    titleвыполняется в performed in CoCon
    /domain/test_domain/sip/user/registered sip *            
    450 make users list ...
    [**********************************************************************] 28mks    
    450 users information read ...
    [**********************************************************************] 1ms      
    Executed on the sip1@ecss1
    ┌───────────────┐
    │ elements: 436 │
    └───────────────┘
  22. После выполнения обновления проверьте работу всех сервисов SSWAfter the update is complete, verify that all SSW services are functioning properly.

Якорь
Второй вариант
Второй вариант

...

Second option

Initial data
Use temporary IP addresses during installation (

...

Исходные данные
На момент установки использовать временные IP адреса (в примере 10.0.10.51/10.0.20.51 ). На последних шагах временные адреса будут заменены на реальные IP адреса SSW версии in the example). In the final steps, the temporary addresses will be replaced with the actual IP addresses for SSW version 3.17 (в примере 10.0.10.41/10.0.20.41 in the example).

Раскрыть
titleИнформацияInformation
Информация
iconfalse

Initial data

Integration of the

Исходные данные
В данном разделе использованы специфичные для данного продукта термины, ознакомиться с ними можно здесь.

Требуется интеграция программного коммутатора 5 класса ECSS-10 (SSW) на 1 физическом сервере с поддержкой SIP со следующими параметрами на нагрузку:Class 5 software switch on a single physical server with SIP support is required, with the following load parameters:

  • Maximum number of subscribers – 15000 (MUL Максимальное количество абонентов – 15000 (MUL — Max user limit);
  • Максимальное количество одновременных соединений — Maximum number of concurrent connections – 2000 (MCL — MCL Max call limit);
  • Резервирование системы не требуется;
  • Количество сетевых интерфейсов ethernet — 4.
  • System redundancy is not required;
  • Number of Ethernet network interfaces – 4.

According to the technical specifications, the hardware platform must be determinedПо техническому заданию требуется определить аппаратную платформу.

Include A Shared Block
shared-block-keyhw_ssw
pageРуководство по инсталляции и начальному конфигурированию

Include A Shared Block
shared-block-keyvm_ssw
pageРуководство по инсталляции и начальному конфигурированию

Раскрыть
titleПример составления аппаратных требований:Example of drafting hardware requirements

Device

Required resource

Hardware product series

Устройство

Требуемый ресурс

Серия аппаратного продукта

MCL

MUL

Сервер Server 1

2500

15000

Heavy

После определения по требованиям проекта составляем предварительную сетевую карту.

Пример разнесения составляющих по адресному пространству для одной ноды:

After defining the project requirements, create a preliminary network diagram.

Example of how components are distributed across the address space for a single node:

Server (host) name

Role 

Interface

Address

Your project's address

Port

Static addresses of the software switch

ecss1

Server address

Имя сервера (хоста)

Роль

Интерфейс

Адрес

Адрес вашего проекта

Порт

Статические адреса программного коммутатора

ecss1

Адрес сервера

net.10 (mgm)

10.0.10.51/24


-

ecss1Адрес протокольного адаптера

Protocol adapter address

net.20 (voip)

10.0.20.51/24


-

ecss1

Адрес шлюза
Gateway address

net.10 (mgm)

10.0.10.1
-

ecss1

Адреса DNS -серверовservers addresses

net.10 (mgm)

10.0.10.1, 8.8.8.8
-

Внутренние адреса программного коммутатораInternal addresses of the software switch

ecss1

Адрес ядра Core address (ecss-core)

lo

127.0.0.1/24


5000

ecss1

Адрес медиасервера Media server address (ecss-media-server (MSR))

lo

127.0.0.1/24


5040

Включение в сеть



Connecting to the network

To ensure redundancy, it is recommended to use two switches when configuring the server’s network topologyТопологию включения сервера в сеть для обеспечения резервирования рекомендуется делать с использованием 2-х коммутаторов.

draw.io Diagram
bordertrue
diagramNameсеть
simpleViewerfalse
width600
linksauto
tbstyletop
lboxtrue
diagramWidth1966
revision1

Рисунок 1 — Схема организации связи

Вариант 1. Схема active-backup

Коммутаторы связаны между собой в erps-кольцо.

Все 4 физических сетевых интерфейса объединяются в 1 агрегированный линк (bond). Агрегация портов сервера настраивается в режиме active-backup, т.е. в работе всегда находится только 1 сетевой интерфейс. Сетевые интерфейсы сервера попарно включены в коммутаторы, на которых агрегация портов (port-channel) также настраивается в режиме active-backup.

Например, eth1 и eth2 включаются в первый коммутатор, а eth3 и eth4 — во второй.

Вариант 2. Схема LACP

Коммутаторы связаны между собой в стек. Стек должен логически работать как один коммутатор, способный обеспечивать агрегацию портов в режиме LACP между разными физическими коммутаторами. Пример — коммутаторы MES3124 со специализированной прошивкой.

Все 4 физических сетевых интерфейса также объединяются в 1 агрегированный линк (bond). Агрегация портов сервера настраивается в режиме 802.3ad. Создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача задействует все каналы в активной агрегации согласно стандарту IEEE 802.3ad. Выбор, через какой интерфейс отправлять пакет, определяется политикой. По умолчанию это XOR-политика, можно использовать «xmit_hash» политику. Подробнее в разделе Приложение Е. Netplan.

Требования:

  • Поддержка Ethtool в драйвере для получения информации о скорости и дуплексе на каждом сетевом интерфейсе;
  • Поддержка на коммутаторе стандарта IEEE 802.3ad;

Figure 1 – Network connection diagram

Option 1. Active-backup configuration

The switches are interconnected in an ERPS ring.

All four physical network interfaces are combined into a single aggregated link (bond). The server’s port aggregation is configured in active-backup mode, meaning that only one network interface is active at any given time. The server’s network interfaces are connected in pairs to the switches, on which the port aggregation (port-channel) is also configured in active-backup mode.

For example, eth1 and eth2 are connected to the first switch, while eth3 and eth4 are connected to the second.


Option 2. LACP diagram

The switches are linked together in a stack. The stack must function logically as a single switch capable of providing port aggregation in LACP mode across different physical switches. An example is the MES3124 switches with specialized firmware.

All four physical network interfaces are also combined into a single aggregated link (bond). Server port aggregation is configured in 802.3ad mode. Aggregated groups of network cards with the same speed and duplex settings are created. With this configuration, data transmission utilizes all channels in the active aggregation in accordance with the IEEE 802.3ad standard. The choice of which interface to send a packet through is determined by a policy. By default, this is the XOR policy; the “xmit_hash” policy can also be used.

Requirements:

  • Ethtool support in the driver to retrieve information about the speed and duplex settings on each network interface;
  • Support for the IEEE 802.3ad standard on the switch;

The server’s network interfaces are also connected in pairs to switches on which port aggregation (port-channel) is configured in LACP mode. For example, eth1 and eth2 are connected to the first switch (port-channel 1), and eth3 and eth4 are connected to the second Сетевые интерфейсы сервера также попарно включены в коммутаторы, на которых агрегация портов (port-channel) настраивается в режиме LACP. Например, eth1 и eth2 включаются в первый коммутатор (port-channel 1), а eth3 и eth4 — во второй (port-channel 2).

...

Installing the OS

Раскрыть
titleПодготовительный этапPreparations

The SSW ECSS10 installation consists of two main parts:

  • Preparation – Installing

Установка SSW ECSS10 состоит из 2-х основных частей :

  • Подготовительной  -  Установка ОС Ubuntu 22.04, обновлений пакетов OC updating Ubuntu packages, "оптимизацияoptimizing" ОС, установка дополнительных пакетов программ, подготовка сетевых интерфейсов,  the OS, installing additional software packages, configuring network interfaces, /etc/hosts, and ssh-keygen

  • Установка приложений Installation of Eltex ECSS10 applications

Подготовительный этап

Preparation phase

This section describes the installation of the operating system, as well as the required and additional packages. The ECSS-10 system, version 3.17, runs on В этом разделе приведено описание инсталляции операционной системы, а также необходимых и дополнительных пакетов. Система ECSS-10 версии 3.17 работает под управлением ОС  Ubuntu 22.04.

Предварительные требования

Prerequisites

  • Bootable installation medium containing the operating system installation package;
  • A prepared server with an updated BIOS and ILO (if available) and a network connection for Internet access;
  • First boot priority set to the installation media – USB flash drive or CD/DVD in the BIOS;
  • Sufficient disk space and memory as specified by the project
  • Установочный загрузочный носитель с дистрибутивом операционной системы;
  • Подготовленный сервер с обновленным BIOS, ILO (если есть), подключенная сеть для доступа в сеть Интернет;
  • Выставленный первый приоритет загрузки с установочного носителя — USB Flash или CD/DVD в BIOS;
  • Достаточный объем дискового пространства и памяти в соответствии с проектом.

Якорь
inst_os
inst_os
Установка ОС

Для установки ОС необходимо выполнить следующее:

OS installation

To install the OS, perform the following steps:

  • After booting from the installation medium, select После загрузки с установочного носителя выбрать "Install Ubuntu Server".
  • Выбрать язык системы и раскладку клавиатуры.
  • Настроить сетевой интерфейс для подключения к сети Интернет:

  • Создать партиции на диске в соответствии с таблицей 1
  • Настроить имена сервера и пользователя
  • Установить OpenSSH server
  • Select the system language and keyboard layout.
  • Configure the network interface to connect to the Internet:

  • Create disk partitions according to Table 1
  • Set the server and user names
  • Install the OpenSSH server
  • Reboot the successfully installed OSПерезагрузить успешно установленную ОС
Раскрыть
titleУстановка ОС Ubuntu Installing the Ubuntu Server 22.04 OS

Include A Shared Block
shared-block-keyУстановка ОС Ubuntu Server 22.04
pageУстановка ОС Ubuntu Server 22.04



Якорь
df
df
Таблица 1 — Вариант размещения информации в файловой системе на физических носителях для серверовTable 1 – Option for storing information in the file system on physical storage media for servers

1Operating system boot partition (created automatically1Загрузочный раздел операционной системы (создается автоматически)bootraid 1:hdd1, hdd2boot/bootext41 GbПервичныйPrimary
2Корневой раздел операционной системыOperating system root partitionrootraid 1:hdd1, hdd2root/ext430 GbЛогическийLogical
3Информация локальных баз данныхLocal database informationmnesiaraid 1:hdd1, hdd2mnesia/var/lib/ecssext410 GbЛогическийLogical
4Распределенная БД для хранения медиаресурсовDistributed database for storing media resourcesglusterfsraid 1:hdd1, hdd2 или or hdd3glusterfs/var/lib/ecss/restfsext4Max GbЛогическийLogical
5Журналы функционирования подсистем ОСOS subsystem operation logslograid 1:hdd1, hdd2 или or hdd3log/var/logext420 GbЛогическийLogical
6Журналы функционирования подсистем ECSS subsystem operation logsecss_lograid 1:hdd1, hdd2 или or hdd3ecss_log/var/log/ecssext420 GbЛогическийLogical
7Базы данныхDatabasesecss_dbraid 1:hdd1, hdd2 или or hdd3ecss_db/srv/ecss/ecss-postgres-bdr-ssw/ext4100–400 Gb*ЛогическийLogical
8Файлы пользователяUser fileshomeraid 1:hdd1, hdd2 или or hdd3home/homeext410 GbЛогическийLogical


Примечание

* Рекомендуемое значение для серий The recommended value for the Light,  Light Light+,  Midi — and Midi series is 100 Gb.  Рекомендуемое значение для серии Heavy — 200 Gb,  Super Heavy — The recommended value for the Heavy series is 200 Gb, and for the Super Heavy series, 400 Gb.

Для работы системы необходимо как минимум 256 Gb свободного пространства.

На серверах системы необходимо настроить параметр "hostname".

На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname). Системный пользователь ssw создается при инсталляции пакета ecss-user.

At least 256 Gb of free space is required for the system to operate.

The "hostname" parameter must be configured on the system's servers.

It is recommended to use the same username (any name except ssw) on all system servers. The ECSS-10 license is tied to the eToken/ruToken key and the computer name (hostname). The system user ssw is created during installation of the ecss-user package.

Подсказка

If a single server is used, the recommended hostname value is

Подсказка

Если используется один сервер, рекомендуемое значение hostname — ecss1;


Раскрыть
titleНастройка сетиNetwork configuration

Network configuration

We will configure the network according to the parameters specified in the technical specifications. In this example, we assume that the required operating system is already installed. 

It is recommended to separate traffic used for different purposes – for example, management traffic and VoIP traffic. To do this, create two or more VLANs. With a light load, you can get by with a single VLAN for simplicity, but this will cause inconvenience in the future when capturing and analyzing traffic dumps. In accordance with the technical specifications, the host’s IP addresses, gateways, DNS, and routing to other networks are configured on the VLANs.

In this example, according to the technical specifications, we will use the following addresses

Настройка сети

Согласно параметрам, заданным в техническом задании, выполним сетевые настройки. В данном примере считается, что необходимая операционная система уже установлена. 

Рекомендуется разделять трафик, используемый в разных целях. Например, трафик управления и трафик VoIP. Для этого создаются 2 или более vlan. При небольшой нагрузке для простоты можно обойтись и одним vlan, но это будет в будущем доставлять неудобства при снятии дампов трафика и его анализе. В соответствии с техническим заданием на vlan настраиваются IP-адреса самого хоста, шлюзы, DNS и маршрутизация в другие сети.

В данном примере согласно ТЗ будем использовать адреса:

  • 10.0.10.51/24 — для управленияfor management, vlan 10;
  • 10.0.20.51/24 — для for VoIP.

Внутри серверной платформы существует адресная структура и используются внутренние адреса для взаимодействия между подсистемами (нодами) в кластере. Например, внутренний адрес для кластера на одном сервере Within the server platform, there is an addressing structure, and internal addresses are used for communication between subsystems (nodes) in the cluster. For example, the internal address for a cluster on a single server is 127.0.0.1, при этом ядро and the core (ecss-core) взаимодействует с сервером обработки мультимедиа-данных communicates with the multimedia data processing server (ecss-media-server). Их взаимодействие происходит с использованием одного и того же адреса, но у каждой программной части свой транспортный порт: ecss-core — 5000, ecss-msr — 5040.They communicate using the same address, but each software component has its own transport port: 5000 for ecss-core, 5040 for ecss-msr.

A single address is defined for all cluster nodes to access the database, for example, Для всех нод кластера определяется единый адрес для обращения к базе данных, например адрес 127.0.0.1. Таким образом, выполняется условие единообразия, при котором все ноды кластера имеют полностью одинаковые данные о текущем состоянии динамических составляющих программного коммутатора (например, история вызовов).

Подготовка сетевых интерфейсов системы

This ensures consistency, whereby all cluster nodes have exactly the same data about the current state of the software switch’s dynamic components (for example, call history).

Preparing system's network interfaces

According to technical specifications, the system has 4 network interfaces. Information about their state can be looked up using the ifconfig or ip a commandСогласно ТЗ, система имеет 4 сетевых интерфейса. Информацию об их состоянии можно посмотреть с помощью команды ifconfig или ip a:

eth0: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 36:10:28:73:63:01 txqueuelen 1000 (Ethernet)

eth1: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 36:10:28:73:63:01 txqueuelen 1000 (Ethernet)

eth2: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether be:77:ea:52:4d:39 txqueuelen 1000 (Ethernet)

eth3: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether be:77:ea:52:4d:39 txqueuelen 1000 (Ethernet)

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0

Сначала настраиваются сетевые интерфейсы. В Ubuntu 22 для их настройки используется утилита netplan.

First, configure the network interfaces. In Ubuntu 22, the netplan utility is used to configure them.

This utility makes it possible to configure the network settings and then load them into the system using the "networkd" or "NetworkManager" network managerДанная утилита позволяет настроить сетевую конфигурацию и затем загрузить ее в систему с помощью сетевого менеджера networkd или NetworkManager.

Блок кода
languagebash
sudo nano /etc/netplan/ecss_netplan.yaml


Примечание

Все остальные файлы из этого каталога необходимо переместить в другое место или удалить.

All other files in this directory must be moved to another location or deleted.

In the configurations for each host, we first define the ethernets section, which describes the Ethernet interfaces present in the system that will be used later. For each interface, you must disable dynamic address assignment В конфигурациях для каждого хоста в первую очередь мы объявляем секцию ethernets, в которой описываются существующие в системе ethernet-интерфейсы, используемые в дальнейшем. Для каждого интерфейса необходимо отключить использование динамического распределения адресов (DHCP). Далее настраиваются vlan, на которых опционально определяются шлюзы для связи с внешним миром и адреса DNS-серверов, а также непосредственно IP-адреса для каждого

интерфейсаNext, configure the VLANs, where you can optionally specify gateways for communication with the outside world and DNS server addresses, as well as the IP addresses for each interface.

Предупреждение
titleВАЖНОIMPORTANT

Please note that when editing netplan, it is necessary to follow YAML indentation rules:

  • There must be at least two spaces before each line (except for network);
  • Each subsection is additionally separated by 2 spaces:

→  Section 

Обратите внимание, что во время редактирования netplan необходимо соблюдать правила разметки YAML:

  • Обязательное наличие минимум двух пробелов перед каждой строкой (кроме network);
  • Каждая подсекция дополнительно сдвигается на 2 пробела:

→  Секция                                                                   |network

→  Подсекция  Subsection                                                             |_'_'bonds:

→  Подсекция описания секции bonds          →  Subsection describing the "bonds" section           |_'_'_'_'bonded_one:

→  и тetc.д.                                                                         |_'_'_'_'...

  • Перед знаком There is no space before the ":" нет пробела, после — один пробел;Перед знаком character, and one space after it;
  • Before the "-" количество пробелов такое, как будто начинается новый подраздел, после — один пробел.character, there are as many spaces as if a new subsection were starting, and one space after it.

Example of configuring the Пример настройки файла ecss_netplan.yaml для варианта включения active-backupfile for the “active-backup” option

Без форматирования
# Netplan для хоста ecss1 программного коммутатора
# Обратите внимание на обязательное наличие минимум двух пробелов в каждой строке и секции (кроме строки секции network) for the ecss1 host of the software switch
# Please note that there must be at least two spaces in every line and section (except for the network section).

network:
  version: 2 # Версияnetplan netplanversion
  renderer: networkd # Исполнительnetplan конфигурацийconfiguration netplanrenderer
   ethernets: # РазделSection описанияdescribing интерфейсовEthernet ethernetinterfaces
      enp0s3: # НазваниеName интерфейсаof ВМthe кvirtual интернет
machine’s interface to the Internet
        dhcp4: no # Отключаем на интерфейсах динамическое распределение IP-адреса
       Disable dynamic IP address assignment on interfaces
        dhcp6: no
        addresses: [192.168.56.51/24]
    enp0s8: # Name of Названиеthe интерфейсаinterface дляfor SSW
            dhcp4: no # Отключаем на интерфейсах динамическое распределение IP-адреса
       Disable dynamic IP address assignment on interfaces
        dhcp6: no
  vlans:
    net.10: # ИнтерфейсManagement управленияinterface
        id: 10
        link: enp0s3
        addresses: [10.0.10.51/24]
    net.20: # ИнтерфейсVoIP для VoIPinterface
        id: 20
        link: enp0s8
        addresses: [10.0.20.51/24]

Следующие настройки bonds обязательны для сервера ECSS, чтобы схема работала верноThe following bonds settings are required for the ECSS server to ensure that configuration works correctly:

mode: active-backup - задаёт режим работы, когда один из линков выбирается активным, а остальные остаются в резерве – specifies the operating mode in which one of the links is selected as active, while the others remain in standby;
primary-reselect-policy: failure - указывает, что выбирать новый активный линк следует только тогда, когда текущий активный линк переходит в состоянии аварии. Это позволяет избежать лишних переключенийfailure specifies that a new active link should be selected only when the current active link enters a failure state. This helps avoid unnecessary switchover;
gratuitous-arp: 5 - при смене активного линка в сторону коммутатора отправляются пять запросов gratuitous ARP, чтобы обновить на нём таблицу коммутации. Способствует более быстрому переключению when the active link changes, five gratuitous ARP requests are sent to the switch to update its forwarding table. This facilitates faster switching;
all-slaves-active: true - заставляет принимать входящие кадры на backup интерфейсах. Таким образом балансировка трафика на MESе не мешает работе. Данные в сторону сервера идут со всех линков, а сервер отправляет данные только с active линка forces the system to accept incoming frames on backup interfaces. Thus, traffic balancing on the MES does not interfere with operations. Data is sent to the server over all links, while the server sends data only over the active link;
mii-monitor-interval: 100 - активирует мониторинг линков через интерфейс MII и указывает интервал опроса в 100мс enables link monitoring via the MII interface and sets the polling interval to 100 ms;
up-delay: 1000 - указывает считать поднявшийся интерфейс доступным для работы не сразу, а сделать задержку в одну секунду после того, как интерфейс поднялся. Необходимо для того, чтобы избежать лишних переключений в случае, когда порт «прыгает» несколько раз из состояния «включено» в состояние «выключено» и обратно specifies that an interface that is up should not be considered available immediately, but rather after a one-second delay following the interface’s activation. This is necessary to avoid unnecessary switching in cases where the port “flips” several times between the “on” and “off” states.

Предупреждение
languagebash

Также рекомендуется проверить отсутствие в каталоге It is also recommended to check that there are no other files in the /etc/netplan/ еще каких либо файлов, если  другие файлы присутствуют , то их нужно переместить в другой каталог или удалить, в противном случае возможна некорректная настройка сетевых интерфейсов и некорректная работа SSW.  directory; if any other files are present, they must be moved to a different directory or deleted, otherwise network interfaces may be configured incorrectly and SSW may not function properly.

Apply the configured settings using the following commandПрименим установленные параметры командой:

Блок кода
languagebash
sudo netplan apply

На серверах системы необходимо настроить параметр "hostname".

На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname), поэтому необходимо использовать стандартные значения. Системный пользователь ssw создается при инсталляции пакета ecss-user.

Подсказка

Если используется один сервер, рекомендуемое значение hostname — ecss1;
Другие имена хостов возможны только при согласовании проекта, это потребуется для генерации лицензий. 

On the system’s servers, you must configure the “hostname” parameter.

It is recommended to use the same username (any name except ssw) on all system servers. The ECSS-10 license is tied to the eToken/ruToken key and the computer name (hostname), so you must use the standard values. The ssw system user is created during installation of the ecss-user package.

Подсказка

If a single server is used, the recommended hostname value is ecss1;
Other hostnames are possible only upon project approval; this is required for license generation.

Specify the hostname as ecss1 in the /etc/hostname fileУказать имя хоста: ecss1 в файле /etc/hostname:

Блок кода
sudo nano /etc/hostname 

Указать  реальный Ipadd и имя хоста используемое в настоящий момент (для примера Specify the actual IP address and the hostname currently in use (for example, 10.0.10.51 ecss1) в файле in the /etc/hosts file:

Блок кода
127.0.0.1   localhost # АдресLocal локальнойloopback петлиaddress, used используетсяby некоторымиsome сервисамиECSS ecssservices
10.0.10.51  ecss1 # АдресHost хостаaddress

"

...

Optimization" of the operating system

Set the OS settings to performance mode

Use the cpufrequtils utility

...

Выставить параметры ОС в режим производительности

Используем  утилиту cpufrequtils.

Блок кода
languagebash
sudo apt install cpufrequtils

по умолчанию после установки Ubuntu используется режим "ondemand" - "по запросу" (производительность CPU по запросу приложений, экономит электроэнергию, но снижает производительностьBy default, after installing Ubuntu, the “ondemand” mode is used (CPU performance is adjusted based on application requests, which saves power but reduces performance):

Блок кода
cat /etc/init.d/cpufrequtils | grep GOVERNOR=

в выходном сообщении системы режим работы по умолчанию после установки - "ondemand" The system output shows that the default mode after installation is “ondemand”:

Без форматирования
GOVERNOR="ondemand"

Установить режим результативности/производительности  -  в файле To set the performance mode, in the /etc/init.d/cpufrequtils значение "ondemand" заменить на "performance" file, replace ondemand with performance

Блок кода
languagebash
sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils

Перезапустить утилитуRestart the utility:

Блок кода
languagebash
sudo /etc/init.d/cpufrequtils restart 

Затем выполнить командуThen run the following command:

Блок кода
languagebash
sudo systemctl daemon-reload

...


Disable SWAP

Ubuntu сервер SSW работает в реальном масштабе времени , поэтому все необходимые данные должны находится в оперативной памяти, использование  файла подкачки (swap-файл - The Ubuntu SSW server operates in real time, so all necessary data must be stored in RAM; using a swap file (/swap.img) может привести к увеличению времени обработки вызовов приложения can increase the processing time for SSW ECSS10 , что недопустимо. Swap - отключаем. 
Выполнить последовательно три команды:application calls, which is unacceptable. Disable swap.
Execute the following three commands one by one:

Disable Отключение Swap:

Блок кода
languagebash
sudo swapoff -a

Удалить файл swapDelete the swap.img file.

Блок кода
languagebash
sudo rm /swap.img

Закомментировать строку - Comment out the line — /swap.img none swap sw 0 0 -   в файле — in the /etc/fstab - выполнив команду "file by running the sudo nano /etc/fstab" command

or change it to # привести её к виду # /swap.img none swap sw 0 0

либо удалить эту строчку or delete this string (/swap.img none swap sw 0 0)

Блок кода
languagebash
sudo nano /etc/fstab

Для проверки выполните команду  To verify, run the free -h command:

Блок кода
languagebash
free -h

Размер Swap равен size equals 0 — значит, он выключен, which means it's disabled

Без форматирования
languagebash
free -h
              total        used        free      shared  buff/cache   available
Mem:           3,9G        110M        3,2G        820K        535M        3,5G
Swap:            0B          0B          0B

Установка часового пояса

Setting the timezone

During the installation of Ubuntu 22, you are not prompted to set a time zone (the default is UTC). You must set it manually (to ensure the billing system, scheduled tasks, etc., function correctly), for exampleПри инсталляции Ubuntu-22 не предлагается установить часовой пояс (по умолчанию — UTC). Его нужно установить вручную (для корректной работы системы тарификации, работ по расписанию и т. д.), например:

Блок кода
languagebash
sudo timedatectl set-timezone Asia/Novosibirsk

Улучшение работы высоконагруженных серверов

Улучшить работу высоконагруженных серверов можно увеличив лимит открытых файлов.

Для установки лимита открытых файлов необходимо:

Improving the performance of high-load servers

You can improve the performance of high-load servers by increasing the open file limit.

To set the open file limit, do the following:

Check the current limit using the commandПроверить текущий лимит командой:

Блок кода
ulimit -a

результат The output:

Без форматирования
eltex@ecss1:~$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15515
max locked memory       (kbytes, -l) 65536
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15515
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Данного лимита This limit (open files  1024 ) недостаточно для нормальной работы высоконагруженных серверов.files 1024) is not enough for normal operation of high-load servers.

Set the open file limit for each userУстановить лимит открытых файлов для каждого пользователя:

Блок кода
sudo sed -i  '55i\*                soft    nproc           65536\n*                hard    nproc           131072\n*                soft    nofile          65536\n*                hard    nofile          131072\nroot             -       memlock         unlimited' /etc/security/limits.conf
Раскрыть
titleРезультатResult:

# /etc/security/limits.conf
#
#Each line describes a limit for a user in the form:
#
#<domain>        <type>  <item>  <value>
#
#Where:
#<domain> can be:
#        - a user name
#        - a group name, with @group syntax
#        - the wildcard *, for default entry
#        - the wildcard %, can be also used with %group syntax,
#                 for maxlogin limit
#        - NOTE: group and wildcard limits are not applied to root.
#          To apply a limit to the root user, <domain> must be
#          the literal username root.
#
#<type> can have the two values:
#        - "soft" for enforcing the soft limits
#        - "hard" for enforcing hard limits
#
#<item> can be one of the following:
#        - core - limits the core file size (KB)
#        - data - max data size (KB)
#        - fsize - maximum filesize (KB)
#        - memlock - max locked-in-memory address space (KB)
#        - nofile - max number of open files
#        - rss - max resident set size (KB)
#        - stack - max stack size (KB)
#        - cpu - max CPU time (MIN)
#        - nproc - max number of processes
#        - as - address space limit (KB)
#        - maxlogins - max number of logins for this user
#        - maxsyslogins - max number of logins on the system
#        - priority - the priority to run user process with
#        - locks - max number of file locks the user can hold
#        - sigpending - max number of pending signals
#        - msgqueue - max memory used by POSIX message queues (bytes)
#        - nice - max nice priority allowed to raise to values: [-20, 19]
#        - rtprio - max realtime priority
#        - chroot - change root to directory (Debian-specific)
#
#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#root            hard    core            100000
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#ftp             -       chroot          /ftp
#@student        -       maxlogins       4
*                soft    nproc           65536
*                hard    nproc           131072
*                soft    nofile          65536
*                hard    nofile          131072
root             -       memlock         unlimited

# End of file


Предупреждение
titleВАЖНО
Установку пакетов требуется делать НЕ из-под пользователя ssw.

Обновление программного обеспечения операционной системы

IMPORTANT

Packages must NOT be installed as the ssw user.

Updating operating system software

  1. To install the ECSS-10 system, you must add the Eltex repository:Для установки системы ECSS-10 необходимо добавить репозиторий ELTEX:
    Блок кода
    languagebash
    titleна новом on a new ssw
    sudo sh -c "echo 'deb [arch=amd64] http://archive.eltex.org/ssw/jammy/3.18 stable main extras external' > /etc/apt/sources.list.d/eltex-ecss10-stable.list"

    Далее необходимо выполнить импорт ключа командойNext, import the key using the following command::

    Блок кода
    languagebash
    titleна новом on a new ssw
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 33CB2B750F8BB6A5

    Перед началом установки необходимо обновить ОСBefore the installation, update the OS:

    Блок кода
    languagebash
    titleна новом on a new ssw
    sudo apt update
    Примечание

    Если вы видите такое сообщение системыIf you see the following system message::

    Без форматирования
    W: http://archive.eltex.org/ssw/jammy/3.18/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

    Выполните следующую командуRun the following command:

    Блок кода
    titleна новом on a new ssw
    sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d


    Блок кода
    languagebash
    titleна новом on a new ssw
    sudo apt upgrade

...



Installing and configuring the software

Предупреждение
titleустановка пакетов installing deb packets
версияECSS ПОsoftware ECSSversion. СейчасIt is вcurrently заявкеlisted наas сертификацию3 онаin заявленаthe какcertification 3application.. 
  | МыWe will еёnot менятьchange неit будемuntil доthe следующейnext сертификацииcertification или
  │ выпуска принципиально новой версии системыor
  │ the release of a fundamentally new version of the system.
  │
  │     ┌ версия System Release version. The common Общаяversion версияfor дляall всехcomponents компонентincluded входящихin вa конкретныйspecific релизrelease. 
  |     | We Меняемchange еёit централизовано,centrally когдаwhen
   │     │ принимаемwe decide решениеto оrelease выпускеa новогоnew релизаversion. Releases are Релизыtypically междуnot собойcompatible обычноwith неone совместимыanother.
┌─┴┐ ┌──┴─┐
ECSS.SysRel.SubMaj.SubMin
            └──┬─┘ └──┬─┘
               │      └ версия Subsystem minor. Минорную версию подсистемы устанавливает разработчик подсистемы version. The subsystem minor version is set by the subsystem developer. 
             |        Минорную версию
                     |   меняем  при  добавлении The патча. Как правило, минорные версии в рамках одной мажорной версии 
               │        совместимы между собой и отличаются в рамках конкретных патчей.
               │minor version
               │        is updated when a patch is added. As a rule, minor versions within a single major version 
               │        are compatible with each other and differ only within specific patches.
               │ версия Subsystem major version. МажорнаяThe версияmajor устанавливаетсяversion разработчикомis подсистемы.set by the subsystem developer. 
                 The subsystem’s major version Мажорнуюmust версиюbe подсистемыchanged необходимоwhen менятьsignificant приchanges внесенииare вmade подсистемуto существенныхthe измененийsubsystem.


Утилита установки пакетов APT анализирует версию пакета слева направо, для примера мы имеем пакет The APT package installation utility analyzes the package version from left to right; for example, if we have package 14.14.7.7 , 
в репозитории находятся пакеты 7  
and the repository contains the following packages
14.14.7.8
14.14.7.9
14.14.8.1
14.14.20 -14.14.28
то при выполнении команды sudo apt install имя пакета → будет автоматически проверен и установлен пакет 14then when you run the command `sudo apt install package_name`, the package 14.14.28 , так как он самый последний, анализ будет выполнен по 3-й позиции  (major), анализ по 4-й (minor) выполнен не будет (аналогичным образом будет выполнятся команда sudo apt upgrade).will be automatically checked and installed, since it is the latest version, the analysis will be performed based on the 3rd position (major), and the analysis based on the 4th position (minor) will not be performed (the sudo apt upgrade command will be performed in the same way).

If, in a specific situation, you need to upgrade from version 14.14.7.7 to version 14В случае если для конкретной ситуации требуется перейти с версии 14.14.7.7 на версию 14.14.7.9, стандартная команда the standard command sudo apt upgrade , нам не поможет, так как будет выбран самый новый пакет, в данной ситуации нам необходимо в явном виде указать какую версию пакета мы хотим установить, в данном примере мы должны выбрать команду → sudo apt install имя пакета won’t work, since it will select the newest package. In this situation, we need to explicitly specify which version of the package we want to install; in this example, we should use the command → sudo apt install package_name=14.14.7.9. Обычно это необходимо для тестирования определенного патча, для стандартных обновлений достаточно выбора привычной команды установки /обновления пакетаThis is usually necessary for testing a specific patch; for standard updates, simply using the usual command to install or update the package is sufficient.


Якорь
Доп_пакеты
Доп_пакеты
Устанавливаем все предложенные пакетыInstall all the offered packages:

Блок кода
languagebash
sudo apt install ntp ntpdate tcpdump vlan dnsmasq aptitude atop ethtool htop iotop mc minicom mtr-tiny nmap pptpd pv screen ssh tftpd vim sngrep tshark cpanminus gnuplot libgraph-easy-perl debconf-utils wget rsync ncdu
Раскрыть
languagebash
titleПакеты ПО которые рекомендуется установить для работыSoftware packages recommended for installation

List of required service softwareСписок обязательного сервисного программного обеспечения:

Блок кода
languagebash
sudo apt install ntp tcpdump vlan dnsmasq


ntpNTP -серверserver
tcpdumpсниффер пакетовpacket sniffer
vlanуправление VLAN management
dnsmasqлегковесный lightweight DNS/DHCP -серверserver

List of recommended diagnostic and utility softwareСписок рекомендуемого диагностического и вспомогательного программного обеспечения:

Блок кода
languagebash
sudo apt install aptitude atop ethtool htop mc screen ssh tftpd sngrep tshark gnuplot libgraph-easy-perl debconf-utils iotop ncdu


aptitudeустановка программ из репозиториев, рекомендуется использовать вместо программы installs software from repositories; recommended as an alternative to apt/apt-get
atopмониторинг загрузки хоста с функцией периодического сохранения информации в файлы
ethtoolпросмотр статистики сетевых интерфейсов
htopмониторинг процессов
mcфайловый менеджер
screenмультиплексор терминалов
sshсервер и клиент SSH
tftpdTFTP-сервер
sngrepтрассировка sip
tsharkконсольный аналог wireshark
monitors host load with the ability to periodically save data to files
ethtooldisplays network interface statistics
htopprocess monitor
mcfile manager
screenterminal multiplexer
sshSSH server and client
tftpdTFTP server
sngrepSIP packet tracer
tsharkconsole-based equivalent of Wireshark
gnuplotplots statistical graphsgnuplotвывод графиков статистики
libgraph-easy-perlPerl -модуль для преобразования или рендеринга графиков (в module for converting or rendering graphs (to ASCII, HTML, SVG или через , or via Graphviz)
debconf-utilsнабор утилит для работы с базой debconf
iotopинструмент для мониторинга использования ввода-вывода (IO) на диске в реальном времени в Linux
ncduутилита для поиска больших директорий в системе Linux
Примечание

Данное программное обеспечение не требуется для работы системы ECSS-10, однако может упростить сервисное обслуживание системы и её отдельных компонентов со стороны инженеров эксплуатации и техподдержки.

a set of utilities for working with the debconf database
iotopa tool for monitoring disk I/O usage in real time on Linux
ncdua utility for searching large directories on a Linux system


Примечание

This software is not required for the ECSS-10 system to operate, but it can simplify maintenance of the system and its individual components by operations and technical support engineers.


Примечание

Before installing the ecss packages, you must ensure that the SPD bandwidth meets the necessary requirements.
To do this, run the sudo ethtool <interface name> command for all physical interfaces

Примечание

Перед началом установки пакетов ecss , нужно убедиться в соответствии полосы пропускания СПД необходимым требованиям.
Для этого выполнить команду  sudo ethtool  <имя интерфейса> для всех физических интерфейсов.

Раскрыть
titleПримерExample:

sudo ethtool net.20
Settings for net.20:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    MDI-X: off (auto)
    Link detected: yes

Проверить значение  следующих параметровCheck the values of the following parameters:
Advertised auto-negotiation: Yes
Speed: 1000Mb/ (не менееs (at least)
Duplex: Full

...


Configuring the ecss-dns-env

...

package

Execute the following commandВыполнить следующую команду:

Блок кода
sudo apt install -y ecss-dns-env

Настройщик предложит выбрать разделы для настройки по вопросам ниже. Нужно выбрать broker. (для примера The configurator will prompt you to select the sections to configure based on the questions below. Select a broker. (For example, 10.0.10.51).

Вопрос ecss-dns-env questionОтветы для Answers for ecss1 
[Primary broker] Введите адрес Enter the address ([Primary broker] Enter ip)10.0.10.51 (необходимо ввестиneeds to be entered)


[Secondary broker] Введите адрес Enter the address ([Secondary broker] Enter ip)10.0.10.51 (необходимо ввестиneeds to be entered)



Предупреждение
titleВАЖНОIMPORTANT

If there will be a need to adjust the IP addresses later, use the following commandВ случае последующей коррекции IP-адресов следует использовать команду

Блок кода
languagebash
sudo dpkg-reconfigure ecss-dns-env

...


Installing Postgres

Предупреждение
titleПримечаниеNote

Перед установкойBefore installing ecss-postgres-bdr-ssw в системе, в apt sources, должен быть добавлен docker для этого выполнить следующие командыdocker should be added to apt sources. To do that, run the following commands:

Блок кода
titleна новом on a new ssw
sudo install -m 0755 -d /etc/apt/keyrings
Блок кода
titleна новом on a new ssw
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
Блок кода
titleна новом on a new ssw
sudo chmod a+r /etc/apt/keyrings/docker.asc
Блок кода
titleна новом on a new ssw
sudo sh -c "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu   jammy stable' >> /etc/apt/sources.list.d/docker.list"
Блок кода
languagebash
titleна новом on a new ssw
sudo apt update && sudo apt upgrade

Установка пакета Installing the ecss-postgres-bdr-ssw package
Выполнить установку пакета
Install the ecss-postgres-bdr-ssw package:

Блок кода
languagebash
titleна новом on a new ssw
sudo apt install ecss-postgres-bdr-ssw

При конфигурации пакета When configuring the ecss-postgres-bdr-ssw будут заданы вопросыpackage, the following questions will be asked:

Вопросы ecss-postgres-bdr-ssw questionsОтветы для Answers for ecss1ПримерExample
Текущий IP-адрес сетевого интерфейса
(Выбрать адрес ранее используемый Current IP address of the network interface 
(Select the address used earlier by MySQL).
Выбрать из списка IP-адрес для работы с Postgres

Image Removed

Select an IP address for working with Postgres from the list

Image Added

Install on a clusterУстановка в кластере?No  (необходимо выбрать (needs to be selected)


Без форматированияcode
titleРезультатResult:
. . .
==================
 Create databases 
==================
CREATE DATABASE
CREATE DATABASE
CREATE EXTENSION
CREATE EXTENSION
===================================
 Creating Postgres Exporter Schema 
===================================
Node IP: localhost
CREATE SCHEMA
GRANT
CREATE FUNCTION
CREATE VIEW
GRANT
CREATE FUNCTION
CREATE VIEW
GRANT
CREATE EXTENSION
CREATE FUNCTION
CREATE VIEW
GRANT
=======================================================
=======================================================
 ecss-postgres-bdr-ssw successfully installed/updated! 
=======================================================
=======================================================
┏┓┏┓┏┓┏┳┓┏┓┳┓┏┓┏┓  ┳┓┳┓┳┓  ┏┓┏┓┓ ┏
┃┃┃┃┗┓ ┃ ┃┓┣┫┣ ┗┓  ┣┫┃┃┣┫  ┗┓┗┓┃┃┃
┣┛┗┛┗┛ ┻ ┗┛┛┗┗┛┗┛  ┻┛┻┛┛┗  ┗┛┗┛┗┻┛


Раскрыть
titleВ случае использования файлового лицензированияIf a file-based license is used
Информация
titleВ случае использования файлового лицензированияIf a file-based license is used

No additional actions are necessary for this stepНа данном шаге никаких дополнительных действий выполнять не требуется.

Раскрыть
titleВ случае использования ELM лицензированияIf the ELM licensing is used

Install the License Provider packageУстановить пакет License Provider:

Блок кода
titleна on ecss2
sudo apt install ecss-license-provider

При установке пакета When istalling the ecss-license-provider будут заданы вопросыpackage, the following questions will be asked:

Адрес для соединения с License Provider: 
ВопросыQuestionsОтветыПримерыAnswersExamples

License Provider listen ip:

0.0.0.0 (значение по умолчаниюdefault value)

Порт для соединения c License Provider:

License Provider listen port:4321 (значение по умолчаниюdefault value)

Выберите уровень логирования:

Log level:info (значение по умолчаниюdefault value),
возможные вариантыpossible options: debug, error, info

Ключ-имя кластера резервирования:

License Provider cluster key:

specify a unique nameуказать уникальное имя
ecss-lm-cluster (значение по умолчаниюdefault value)

Подсказка
Менеджеры с одинаковыми именами попытаются собраться в кластер и резервировать друг друга

Managers with identical names will try to form a cluster for mutual redundancy.


Данные сохраняются в файле The data is saved to the /etc/ecss/ecss-license-provider/config.env file:

Без форматирования
ECSS_LM_HOST=0.0.0.0
ECSS_LM_PORT=4321
ECSS_LM_LOG_LEVEL=info
RELEASE_COOKIE=ecss-abf-lm-cluster

Конфигурация License Provider (LP) configuration

Сервис The ecss-license-provider использует два конфигурационных файла:  service uses two configuration files: /etc/ecss/ecss-license-provider/config.env и and /etc/ecss/ecss-license-provider/config.yaml.

В файл Information is saved to the config.env информация сохраняется в момент установки пакета file during the ecss-license-provider package installation.

Config.yaml файл содержит основные настройки для подключения к ELM-серверу, откуда брать лицензии, какие лицензии, и куда их потом передавать, все это нужно сконфигурировать вручнуюThe config.yaml file contains main settings for connecting to the ELM server: where to take licenses from, which licenses to take, and where to send them. All of this should be configured manually.

Блок кода
titleинформация в файле после установкиinformation in the file after installation
elm_addresses: []
licenses: []
ecss_nodes: []
Для заполнения данных полей откройте файл конфигурации To fill in these fields open the ecss-elm-adapter используемого в версии  configuration file used in the version 3.17 ssw  /etc/ecss/ecss-elm-adapter/config.env:
Блок кода
titleна on ecss2
сatcat /etc/ecss/ecss-elm-adapter/config.env 
ELM_HOST=elm.eltex-co.ru
ELM_PORT=8099
ECSS_PRODUCT_ID=ECSS2000000
ECSS_LICENSE_KEY=ssw987654
LOG_LEVEL=info
LICENCE_FAIL_TIMER_SECONDS=10
LICENCE_PULL_TIMER_SECONDS=360

В поле elm_adresses нужно прописать список серверов ELM, к которым мы хотим подключаться для получения лицензий. Первый адрес в списке используется как основной. Дополнительные строки с адресами работают как резерв.
примерIt is necessary to specify the ELM servers list to which you wnat to connect to obtain licenses. First address in the list is used as the main one. Additional lines contain backup addresses:
- "elm.eltex-co.ru:8099"
- "192.168.111.22:8099"
- "elm-3.eltex.loc:8099"
Дальше задаются сами лицензии в поле licenses
Then licenses are specified in the licenses field.

  • id может быть любой, главное чтоб был уникальный у каждой лицензии. Влияет только на адрес лицензии на самом License Provider (например The id can be anything, as long as it is unique for each license. It only affects the license address on the License Provider itself (e.g., 0, 1, 2, 3).
  • kind. Для For SSW поддерживается только , only SSW (заглавными буквамиin uppercase) is supported.
  • type выбирается какis set to elm, если запрашивать данную лицензию нужно с ELM-сервера. Если нужно использовать файловую лицензию SSW, то тип выбирается как if this license is to be requested from the ELM server. If you need to use an SSW file-based license, set the type to ecss_license.
    • приfor the elm типе необходимо задать поляtype, you must specify the license_key иand product_id для идентификации лицензииfields to identify the license.
    • приfor the ecss_license типе задается полеtype, specify the license, содержащее ключ статичной лицензии field containing the static license key.
Примечание

Параметры The license_key = ECSS_LICENSE_KEYи and product_id = ECSS_PRODUCT_IDдолжны быть согласованы с данными, ранее загруженными на ELM-сервере.

Блок

 parameters must match the data previously uploaded to the ELM server.

The ecss_nodes block.

 В нем нужно задать данные сервисов, которые будут получать лицензию. Сервис задается тремя параметрами

This block must specify the details of the services that will receive the license. A service is specified by three parameters:

  • id -
идентификатор сервиса. В случае с SSW должен совпадать с
  • the service identifier. For SSW, this must match the ECSS_ID 
лицензируемого
  • of the SSW being licensed.
  • kind -
тип лицензируемого сервиса. По аналогии с блоком лицензий, поддерживаются типы
  • the type of service being licensed. Similar to the licenses block, the SSW 
и
  • and AUP types are supported.
Для SSW поддерживается только SSW
  • For SSW, only SSW is supported.
  • license_id -
идентификатор лицензии, которая будет отправляться на данный сервис. Соответствует идентификаторам лицензии из блока licenses
  • the identifier of the license that will be sent to this service. It corresponds to the license identifiers from the licenses block.
Примечание
Два SSW с разными Two SSWs with different ECSS_ID не могут получить одну и ту же лицензию, конфигурация с таким распределением будет помечена некорректной.
Кроме того, два SSW с одинаковыми ECSS_ID не смогут одновременно получать одну и ту же лицензию с одного License Provider, поэтому крайне важно корректно устанавливать свой ECSS_ID и делать его уникальным как минимум в зоне видимости используемого License Provider.IDs cannot receive the same license; a configuration with such an assignment will be marked as invalid
In addition, two SSWs with the same ECSS_ID cannot simultaneously obtain the same license from a single License Provider; therefore, it is extremely important to set your ECSS_ID correctly and ensure that it is unique, at least within the scope of the License Provider you are using.
Примечание

The ECSS_ID specified in the

Примечание

ECSS_ID указанный в файле /etc/ecss/ecss-license-provider/config.yaml , должен совпадать с file must match the ECSS_ID ( идентификатор ECSS -узла) которое указываем при установке пакета node identifier) that you specify when installing the ecss-node package

Предупреждение

При обновлении, имя нового ECSS-узла When updating, be sure to specify a new ECSS node name (ECSS_ID) нужно обязательно указывать отличное от имени старого ECSS-узла. В противном случае при их совпадении сервис ecss-mycelium не активируетсяthat is different from the old ECSS node name. Otherwise, if the names match, the ecss-mycelium service will not be enabled.


Подсказка

Формат ECSS_ID:
Начинается и заканчивается обязательно латинской буквой или цифрой, в теле же могут использоваться точки и тире format.
It must begin and end with a Latin letter or number; periods and dashes may be used within the text. 

Без форматирования
[A-Za-z0-9][A-Za-z0-9.-][A-Za-z0-9]
Блок кода
titleПример: файла config.yaml на основе данных из файла /etc/ecss/ecss-elm-adapter/config.envExample of a config.yaml file based on data from the file
elm_addresses:
 - "elm.eltex-co.ru:8099"
licenses:
 - id: 0
   kind: SSW
   type: elm
   license_key: "ssw987654"
   product_id: "ECSS2000000"
ecss_nodes:
 - id: test.update
   kind: ssw
   license_id: 0

Выполнить перезагрузку сервиса Restart the ecss-license-provider.service для обновления конфигурации из файла service for updating configuration from the /etc/ecss/ecss-license-provider/config.yaml следующей командой file using the following command:

Блок кода
titleесли кластер, то на обоих хостахon both hosts if there is a cluster
sudo systemctl restart ecss-license-provider.service

...


Installing ecss-node

Установка обязательного пакета ecss-node включает в себя установку и первоначальную настройку основных подсистемInstalling the required ecss-node package includes the installation and initial configuration of the core subsystems.

Примечание

В системе уже должен быть установлен пакет The ecss-postgres-bdr-ssw package must already be installed on the system

To install the ecss-node package, run the following commandДля установки пакета ecss-node выполните команду:

Блок кода
languagebash
titleна новом on a new ssw
sudo apt install -y ecss-node

Во время установки пакета создается пользователь ssw, от имени которого запускаются все сервисы ecss*. Создаются необходимые каталоги, выполняется настройка DNS, идет настройка SSL-сертификатов.

Подсказка

При установке также будет установлен пакет ecss-user

Во время установки будет предложено настроить параметры, необходимые для формирования конфигурационных файлов, примеры ответов следует ниже.

During installation, a user named ssw is created, under whose account all ecss* services are run. The necessary directories are created, DNS configuration is performed, and SSL certificates are configured.

Подсказка

The ecss-user package will also be installed during this process

During installation, you will be prompted to configure the parameters needed to generate the configuration files; examples of responses are provided below.

ecss-user questionsAnswers for ecss1Example

Do you want to use the default settings?


Yes (default value
Вопросы ecss-userОтветы для ecss1Пример

Хотите ли вы использовать стандартные настройки?

Yes (значение по умолчанию)

 
Вопросы ecss-node questionsОтветы для Answers for ecss1ПримерExample

Якорь
Идентификатор ECSS-узла
Идентификатор ECSS-узла
Идентификатор ECSS-узла в формате DNS (Настройка имени кластера): (любое уникальное имя, в примере test.updateECSS node identifier in DNS format (cluster name configuration): (any unique name; test.update is used in the example)

Предупреждение

При обновлении, имя нового ECSS-узла нужно обязательно указывать отличное от имени старого ECSS-узла. В противном случае при их совпадении сервис ecss-mycelium не активируетсяWhen updating, the name of the new ECSS node must be different from that of the old ECSS node. Otherwise, if the names match, the ecss-mycelium service will not be enabled.

Примечание

Идентификатор ECSS-узла должен совпадать с ECSS_ID указанном в файле конфигурации провайдера лицензий - The ECSS node identifier must match the ECSS_ID specified in the license provider’s configuration file – /etc/ecss/ecss-license-provider/config.yaml.

 

test.update  (необходимо ввестиneeds to be entered)

Подсказка

Формат ECSS_ID :
Начинается и заканчивается обязательно латинской буквой или цифрой, в теле же могут использоваться точки и тиреformat:
Must begin and end with a Latin letter or digit; periods and hyphens may be used in the middle

Без форматирования
[A-Za-z0-9][A-Za-z0-9.-][A-Za-z0-9]

Хотите ли вы использовать стандартные настройкиDo you want to use the default settings?Yes (значение по умолчаниюdefault value)

 
Вопросы ecss-user questionsОтветы для Answers for ecss1ПримерExample
Maximum size of an uncompressed core dump in bytesМаксимальный размер несжатого дампа в байтах.8G (значение по умолчаниюdefault value)

Максимальный размер сжатого дампа в байтахMaximum size of a compressed core dump in bytes.2G (значение по умолчаниюdefault value)

Максимальный размер, который может занять каталог Maximum size that the /var/lib/systemd/coredump directory can occupy:

default (значение по умолчаниюdefault value)

Минимальный объем свободного дискового пространства в байтах.
Minimum amount of free disk space in bytes. 30G (значение по умолчаниюdefault value)

Сохраните в безопасное место и удалите файл Save the /etc/ecss/ssl/ecss10root.key file to a safe location and delete it!

Ok (значение по умолчаниюdefault value)

Cookie для ноды for the core node:

ecss-core (необходимо ввестиneeds to be entered)


Cookie для ноды for the ds node:

ecss-ds (необходимо ввестиneeds to be entered)


Cookie для ноды for the mediator node

ecss-mediator  (необходимо ввестиneeds to be entered)


Cookie для ноды for the pa-sip node

ecss-pa-sip  (необходимо ввестиneeds to be entered)


Cookie для ноды for the mycelium node:

ecss-mycelium (необходимо ввестиneeds to be entered)


Cookie для ноды sorm: 

ecss-sorm (необходимо ввести)

Image Removed

Проверить информацию о состоянии синхронизации c NTP, используется команда  ntpq –p . Если использовать дополнительный ключ –n, вместо имени сервера будет указан IP-адресTo check the NTP synchronization status, use the `ntpq -p` command. If you use the additional `-n` option, the IP address will be displayed instead of the server name:

Без форматирования
ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*185.125.190.56  17.253.28.253    2 u   45   64    1   83.893   +0.470   2.177

Остановить сервисыStop the following services::

Блок кода
titleна новом on a new ssw
sudo systemctl stop ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium

Создать Create a backup для for oasys (скопировать БД Mnesia со старого на новый Copy Mnesia database from old to new ecss1), выполнить следующие командыrun the following commands:

Блок кода
titleна новом on a new ssw
cd /var/lib/ecss/oasys/
Блок кода
titleна новом on a new ssw
sudo rsync -a <Ваш<Your_пользователь>@<IPuser>@<IP_add_of_an_старогоold_сервера>server>:/var/lib/ecss/oasys/Mnesia.ds1@ecss1/ Mnesia.ds1@ecss1/
Блок кода
titleна новом on a new ssw
sudo rsync -a <Ваш<Your_пользователь>@<IPuser>@<IP_add_of_старогоan_old_сервера>server>:/var/lib/ecss/oasys/Mnesia.md1@ecss1/ Mnesia.md1@ecss1/
Блок кода
titleна новом on a new ssw
cd ~


Перезапустить сервисы SSWRestart the SSW services:

Блок кода
titleна новом on a new ssw
sudo systemctl restart ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium

Если лицензия поддерживает СОРМ3, то запустить также сервис ecss-sorm.

Блок кода
titleна новом ssw
sudo systemctl start ecss-sorm

Проверить статус сервисов, для этого выполнить в CoCon команду system-status:

To check the status of the services, run the system-status command in CoCon:

Блок кода
titleperformed in
Без форматирования
titleвыполняется в CoCon
/system-status 
Checking...
┌─┬───────────────┬─────────────────────────┬───────────────┬────────────┬──────┐
│ │     Node      │         Release         │ Erlang nodes  │Mnesia nodes│Uptime│
├─┼───────────────┼─────────────────────────┼───────────────┼────────────┼──────┤
│ │core1@ecss1    │ecss-core-3.18.0.271     │core1@ecss1    │not running │3m 55s│
│ │ds1@ecss1      │ecss-ds-3.18.0.271       │ds1@ecss1      │ds1@ecss1   │4m 40s│
│ │md1@ecss1      │ecss-mediator-3.18.0.271 │md1@ecss1      │md1@ecss1   │3m 50s│
│ │mycelium1@ecss1│ecss-mycelium-3.18.0.271 │mycelium1@ecss1│not running │5m 28s│
│ │sip1@ecss1     │ecss-pa-sip-3.18.0.271   │sip1@ecss1     │sip1@ecss1  │3m 45s│
│ │sorm1@ecss1    │ecss-sorm-3.18.0.271     │sorm1@ecss1    │not running │1m 55s│
└─┴───────────────┴─────────────────────────┴───────────────┴────────────┴──────┘

...

Licensing modes.

...

File-based licensing

Раскрыть
titleВ случае использования файлового лицензированияIf a file-based license is used
Информация
titleВ случае использования файлового лицензированияIf a file-based license is used

No additional actions are necessaryНикаких дополнительных действий выполнять не требуется.

Без форматирования
/cluster/storage/ds1/licence/list-licence
┌──┬───────────────────┬────────────────┬──────┬────────────────────────────────────────────┬────────────────────┬────────────┐
│Id│Creation date(UTC) │     SSW ID     │Active│                Description                 │Expiration date(UTC)│ Time left  │
├──┼───────────────────┼────────────────┼──────┼────────────────────────────────────────────┼────────────────────┼────────────┤
│1 │31.10.2025 14:16:00│ECSS 010070     │*     │Eltex SC softswitch                         │31.12.2026 23:59:59 │224d 21h 31m│
│0 │                   │ECSS DEFAULT    │      │Default licence                             │                    │            │
└──┴───────────────────┴────────────────┴──────┴────────────────────────────────────────────┴────────────────────┴────────────┘

...

ELM

...

service licensing

Раскрыть
titleВ случае использования ELM лицензированияIf the ELM licensing is used

Configure the SSW connection to the License Provider using the following command in CoCon (in this example, the License Provider is installed on the ecss1 host, hosts IPadd is Выполнить конфигурацию подключения SSW к License Provider следующей командой в CoCon, (в примере License Provider установлен на хосте ecss1, IPadd хостов 10.0.10.51. Значение порта из файла Port value from the /etc/ecss/ecss-license-provider/config.env по умолчанию file is 4321 by default):

Блок кода
titleвыполняется в performed in CoCon
/system/licence/manager/set --hosts [https://10.0.10.51:4321]

После выполнения проверить статус подключения командойAfter execution, check the connection status with the following command:

Блок кода
titleвыполняется в performed in CoCon
/system/licence/manager/show-status
┌───────────────────────┬───────┬─────┐
│         Host          │Current│Alive│
├───────────────────────┼───────┼─────┤
│https://10.0.10.51:4321│*      │true │
└───────────────────────┴───────┴─────┘

Хост должен иметь статус The host should have the alive=true . И быть «current».status and be "current". 

  • Current -
отображает к какому хосту подключён SSW. Если есть подключение, указывается *, если нет - ничего не указано.
  • indicates which host the SSW is connected to. If there is a connection, * is displayed; if not, nothing is displayed.
  • Alive - displays the host’s availability status
Alive - отображает статус доступности хоста
  • (healthcheck).
Информация
titleПодключение к Connecting to the License Manager

Отсутствие подключения к License Provider \ ELM будет равноценно отсутствию доступа к токену, что приведёт к критическим авариям, переходу в аварийный режим по истечении которого, если связь не будет восстановлена, система перейдёт на Default-лицензию.

Данное поведение применимо только при работе в elm-режиме.

Если статус к одному из хостов License Provider показан current, можно посылать запрос на загрузку лицензии на SSW командой

A lack of connection to the License Provider or ELM is equivalent to a lack of access to the token, which will lead to critical failures and a transition to emergency mode; after a certain period, if the connection is not restored, the system will switch to the Default license.

This behavior applies only when operating in ELM mode.

If the status for one of the License Provider hosts is shown as “current,” you can send a request to upload the license to the SSW using the following command:

Блок кода
titleвыполняется в performed in CoCon
/cluster/storage/ds1/licence/request
Блок кода
titletype=elm
/cluster/storage/ds1/licence/request      
Licence received      
[*******                                                               ] 6s 2ms   
Success: Licence parameters applied
Блок кода
titletype=elm
/cluster/storage/ds1/licence/list-licence 
┌──┬───────────────────┬────────────┬──────┬────────────────┬────────────────────┬────────────────────┬─────────┐
│Id│Creation date(UTC) │   SSW ID   │Active│  Description   │Comm. Exp. Date(UTC)│Expiration date(UTC)│Time left│
├──┼───────────────────┼────────────┼──────┼────────────────┼────────────────────┼────────────────────┼─────────┤
│1 │14.04.2026 11:18:34│ECSS2000000 │*     │ECSS ELM License│09.04.2027 16:26:34 │06.06.2026 10:49:12 │1d 6h 59m│
│0 │01.01.1990 00:00:00│ECSS DEFAULT│      │Default licence │                    │                    │         │
└──┴───────────────────┴────────────┴──────┴────────────────┴────────────────────┴────────────────────┴─────────┘

...


Installing ecss-restfs, ecss-media-server, ecss-web-conf

...

packages

Next, install the ecss-restf package, followed by Далее устанавливаются пакеты ecss-restf  затем ecss-media-server, ecss-media-resources, , ecss-web-conf и другие в любом порядке, and others in any order:

ecss-restfs

Блок кода
languagebash
titleна новом on a new ssw
sudo apt install -y ecss-restfs

УстановкаInstalling ecss-restfs.   При установке пакета

When installing the ecss-restfs будет предложено задать параметры конфигурации. Ответы на вопросы приведены ниже. Также инсталлятор предложит установить и настроить пакет Text2speech от Yandex.

...

Использование функции TTS (Use TTS service)

...

Настройка телефонной книги (Configure phone book)

...

Настроить сервис определения речи (Configure speech recognition service)

...

Ничего не выбирать

...

package, you will be prompted to specify configuration options. The answers to these questions are provided below.

ecss-restfs questionsAnswers

Use TTS service

No (default value)

Configure phone book

No (default value)

Configure speech recognition service

No (default value)

Select nothing

Ok

After installing the ecss-restfs package, check for the presence of the voice guide’s WAV files in the после установки пакета ecss-restfs проверьте наличие wav файлов автоинформатора в директории  /var/lib/ecss/restfs/system/sounds/ командой directory using the command:

Блок кода
languagebash
ll /var/lib/ecss/restfs/system/sounds/

наличие wav-файлов в указанной выше директории говорит о корректности установки пакета The presence of WAV files in the directory specified above indicates that the ecss-restfs package was installed correctly

Информация

The absence of WAV files in the directory specified above indicates a problem with the installation of the ecss-restfs package. To resolve this, run the following command

Информация

Отсутствия wav файлов в указанной выше директории, директории свидетельствует о проблеме при установке пакета ecss-restfs. Для ее решения выполните команду:

Блок кода
sudo apt --fix-broken install 

и повторите команду проверкиand repeat the verification command:

Блок кода
ll /var/lib/ecss/restfs/system/sounds/


осталось проверить доступность этих файлов извне. Для проверки выполните команду:Next, you need to make sure that these files are accessible from outside. To do so, run the following command: Installing ecss-restfs.

Блок кода
wget http://ecss1:9990/system/sounds/ai_you.wav

...

Блок кода
languagebash
wget http://ecss1:9990/system/sounds/ai_you.wav
--2026-04-18 17:43:29--  http://ecss1:9990/system/sounds/ai_you.wav
Resolving ecss1 (ecss1)... 127.0.1.1, 10.0.10.51
Connecting to ecss1 (ecss1)|127.0.1.1|:9990... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11670 (11K) [audio/x-wav]
Saving to: ‘ai_you.wav’

ai_you.wav                                  100%[========================================================================================>]  11,40K  --.-KB/s    in 0s      

2026-04-18 17:43:29 (301 MB/s) - ‘ai_you.wav’ saved [11670/11670]

проверочный файл можно удалитьYou can delete the test file

Блок кода
languagebash
rm ai_you.wav

Перенести записи разговоров со старого сервера на новый, выполнив следующую командуTransfer the call recordings from the old server to the new one by running the following command:

Блок кода
titleна новом on a new ecss1
sudo rsync -a <ваш<your_пользователь>@<IPuser>@<IP_add_старогоof_an_old_ecss1>:/var/lib/ecss/restfs/domain/ /var/lib/ecss/restfs/domain/


Блок кода
titleПримерExample:
abf@ecss1:/var/lib/ecss/restfs/domain$ ls -la /var/lib/ecss/restfs/domain
итого8 8total
drwxr-xr-x 2 www-data www-data 4096 апрapr 22 18:21 .
drwxr-xr-x 7 www-data www-data 4096 маяmay 28 15:07 ..

abf@ecss1:/var/lib/ecss/restfs/domain$ sudo rsync -a abf@10.0.10.10:/var/lib/ecss/restfs/domain/ /var/lib/ecss/restfs/domain/

abf@ecss1:/var/lib/ecss/restfs/domain$ ls -la test_domain/records/2026_05_28
итого610 610total
drwxrwxrwx 2 www-data www-data  4096 маяmay 28 14:56 .
drwxrwxrwx 3 www-data www-data  4096 маяmay 28 14:27 ..
-rw-r--r-- 1 www-data www-data 71892 маяmay 28 14:27 2026-05-28_14-27-02_t_42009-42007.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:27 2026-05-28_14-27-02_t_42009-42007.pcm.meta
-rw-r--r-- 1 www-data www-data 71892 маяmay 28 14:31 2026-05-28_14-31-19_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:31 2026-05-28_14-31-19_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 63904 маяmay 28 14:55 2026-05-28_14-55-24_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:55 2026-05-28_14-55-24_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 39940 маяmay 28 14:55 2026-05-28_14-55-31_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:55 2026-05-28_14-55-31_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 15976 маяmay 28 14:55 2026-05-28_14-55-37_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:55 2026-05-28_14-55-37_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 79880 маяmay 28 14:55 2026-05-28_14-55-48_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:55 2026-05-28_14-55-48_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 55916 маяmay 28 14:56 2026-05-28_14-55-59_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:55 2026-05-28_14-55-59_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 47928 маяmay 28 14:56 2026-05-28_14-56-04_o_42007-42009.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:56 2026-05-28_14-56-04_o_42007-42009.pcm.meta
-rw-r--r-- 1 www-data www-data 31952 маяmay 28 14:56 2026-05-28_14-56-28_t_42009-42007.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:56 2026-05-28_14-56-28_t_42009-42007.pcm.meta
-rw-r--r-- 1 www-data www-data 31952 маяmay 28 14:56 2026-05-28_14-56-37_t_42009-42007.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:56 2026-05-28_14-56-37_t_42009-42007.pcm.meta
-rw-r--r-- 1 www-data www-data 95856 маяmay 28 14:56 2026-05-28_14-56-42_t_42009-42007.pcm
-rw-rw-rw- 1 www-data www-data    86 маяmay 28 14:56 2026-05-28_14-56-42_t_42009-42007.pcm.meta

...

Блок кода
languagebash
titleна новом on a new ssw
sudo apt install -y ecss-media-server

Для медиасервера For the media server (ecss-media-server/MSR) можно выполнить начальную настройку с записью параметров в файл конфигурации,
для этого нужно провести конфигурацию  transport , you can perform the initial setup by writing the parameters to a configuration file, 
to do this, you need to configure transport bind-addr, mcc bind-addresaddress:
Укажите IP-адреса старого SSW версии Specify the IP address of the old SSW version 3.17 (в примере 10.0.20.41 in the example).

Вопросы ecss-media-server questionsОтветы для Answers for ecss1
[ MSR SIP SIP ]  Введите Enter the bind-ip адрес address (Enter)10.0.20.41 (необходимо ввести (needs to be entered)
[MSR Control-Channel] Введите Enter the bind-ip -адресaddress10.0.20.41 (необходимо ввести) (needs to be entered)


After generating the default configurations, run the following checkПосле формирования конфигураций по умолчанию  выполните проверку:

Блок кода
cat /etc/ecss/ecss-media-server/config.xml


Внутри лежит конфигурация для Inside is the configuration for msr: config.xml, в директории ; in the conf.d лежит конфигурация directory is the default.xml configuration.

По своей сути Essentially, default.xml — это дополнение xml is an extension of config.xml , которое определяет секцию аккаунтов. Это сделано для того, чтобы после обновлений пакета данная конфигурация оставалась неизменной. Вид config.xml представлен здесь: файл конфигурации.that defines the accounts section. This is done to ensure that this configuration remains unchanged after package updates.

Блок кода
<?xml version="1.0" encoding="utf-8"?>
<config date="09:24:23 03.12.2025">
  <general log-level="3" log-rotate="yes" max-calls="2148" max-vid-calls="100" max-in-group="512" load-sensor="media" load-delta="10" calls-delta="100" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="disabled" enable-ice-transport="no" ice-update="no" aggressive-ice="yes" stun-server="" suspicious-mode="no"/>
  <transport bind-addr="10.0.20.41" port="5040" transport="udp+tcp"/>
  <!-- By default configured public TURN-server -->
  <turn-server use-turn="no" host="numb.viagenie.ca" user="webrtc@live.com" password="muazkh"/>
  <media mixer-clock-rate="8000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="no" cn-multiplier="3" port-start="12000" port-range="4496" tias-in-sdp="no" thread-cnt="2" vid-enc-threads="2" vid-dec-threads="2" video-conf-layout="evenly" keyframe-interval="1000" vid-decode-delay="100" silent-codec-switch="yes" silence-threshold="-30" dtmf-flash-disable="no" video-dscp="0" other-dscp="0" dummy-video-src="/usr/share/ecss-media-server/video/dummy_video.yuv" video-enc-width="640" video-enc-height="360" finalsilence="1000" rtcp-stat-dump="yes" dtmf-tg-fpc-loop="10" dtmf-tg-fit="1" dtmf-tg-fot="2" dtmf-tg-volume="12288"/>
  <codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g726="0" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
  <accounts>
    <!-- <dynamic msr_name="msr.name"
            realm="sip:127.0.0.1:5000"
            dtmf_mode="rfc+inband+info"
            auth_name="user"
            auth_password="password" /> -->
  </accounts>
  <pbyte>
    <mcc bind-addr="10.0.20.41" port="5700"/>
  </pbyte>
  <conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
  <metrics enable="yes" use-pushgateway="yes" pushgateway-addr="127.0.0.1:9091" push-interval="5" port="8100" msr_name="msr2"/>
  <rtp>
    <auto addr-v4=""/>
  </rtp>
</config>

по умолчанию , после инсталляции By default, after installation, ECSS-10 активизирует только кодеки - enables only the following codecs: pcma, pcmu, g722, h264, h263-1998, and t38. Остальные имеют статус =0 = выкл. Если хотите активизировать остальные кодеки, в редакторе nano измените приоритет с 0 на цифру приоритета (уровень приоритета не должен повторятся для сервиса The rest have a status of 0 (disabled). If you want to enable the remaining codecs, use the nano editor to change the priority from 0 to the desired priority number (the priority level must not be duplicated for the audio/video/fax service).
sudo nano /etc/ecss/ecss-media-server/config.xml

Подсказка
languagebash
чтобы активизировать все кодеки 
строчку  -To enable all codecs 
the line: 
<codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g726="0" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
привести к виду -should be changed to: 
<codec pcma="1" pcmu="2" ilbc="6" gsm="4" g722="3" g726="11" g729="5" speex="7" l16="8" g7221="9" opus="10" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>


Предупреждение

Недопустимо указывать у разных кодеков одинаковый приоритет, для примера g722It is not allowed to specify the same priority for different codecs; for example, g722="5" g729="5". В этом случае они будут работать некорректно/игнорироваться.
За исключением "0" - выключено.In this case, they will not work correctly or will be ignored.
The exception is “0” – which means disabled.

Take a look at the accounts section (the default.xml fileРассмотрим секцию аккаунтов (файл default.xml):

Блок кода
languagebash
cat /etc/ecss/ecss-media-server/conf.d/default.xml

Проверить корректность данныхCheck the correctness of the data.

Блок кода
titleНастройка Configuring msr для for ecss1(/etc/ecss/ecss-media-server/conf.d/default.xml)
<?xml version="1.0"?>
<config>
    <accounts>
        <dynamic msr_name="msr.ecss1" realm="sip:10.0.20.41:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password">
            <via dynamic-ifaces="no">
                <iface name="net.20" ip="10.0.20.41"/>
            </via>
        </dynamic>
    </accounts>
</config>

В ней указаны текущие настройки, согласно которым происходит регистрация msr на core.

It specifies the current settings used to register the MSR on the core.

The main parameters here are msr_name and Основными параметрами здесь являются: msr_name и realm:

  • msr_name — параметр, определяющий название msr. (рекомендуется задавать название msr. и к какому хосту он принадлежит, например a parameter that defines the name of the MSR. (it is recommended to specify the MSR name and the host it belongs to, for example, msr.ecss1);
  • realm — определяет адрес для регистрации на ядре. Точка входа по умолчанию: порт 5000, адрес: specifies the address for registration on the core. The default entry point is port 5000, address 127.0.0.1.

После изменения конфигурации файлов After modifying the /etc/ecss/ecss-media-server/config.xml и and /etc/ecss/ecss-media-server/conf.d/default.xml необходимо выполнить перезапуск сервиса configuration files, you should restart the ecss-media-server, чтобы изменения вступили в силу, следующей командой service for the changes to take effect using the following command:

Блок кода
sudo systemctl restart ecss-media-server
Подсказка

Вы увидите сообщениеYou will see the following message:

Информация

Job for ecss-media-server.service failed because the control process exited with error code.
See "systemctl status ecss-media-server.service" and "journalctl -xeu ecss-media-server.service" for details.

Мы указали рабочие IP адреса для media сервиса, а они пока закреплены за старым ecss1. После переключения IP адресов сервис запустится автоматическиThe operational IP addresses for the media service are specified, but they are currently still assigned to the old ecss1. After switching the IP addresses, the service will start automatically.


ecss-web-conf

Блок кода
titleна новом on a new ssw
sudo apt install ecss-web-conf

Web-конфигуратор позволяет сделать управление системой более наглядным и комфортным. Установка web-конфигуратора не является обязательной, но рекомендуется.
Также при установке пакета The web configurator makes system management more intuitive and convenient. Installing the web configurator is not required, but it is recommended.
Additionally, installing the ecss-web-conf автоматически устанавливается пакет package automatically installs the ecss-subscriber-portal-ui. Приложение "Портал абонента" системы ECSS-10 позволяет абонентам системы самостоятельно управлять услугами, просматривать информацию по совершенным вызовам, активным конференциям, а также настраивать собственные IVR-скрипты для входящих вызовов. Описание работы веб-конфигуратора приведено в разделе "Портал абонента". package. The ECSS-10 system’s “Subscriber Portal” application allows system subscribers to independently manage services, view information on completed calls and active conferences, and configure their own IVR scripts for incoming calls.

Вопросы ecss-web-conf questionsОтветы для Answers for ecss1ПримерExample
Do you want to use the default settings Хотите ли вы использовать стандартные настройки?Yes (значение по умолчаниюdefault value)

Проверьте возможность подключения к веб-интерфейсу Check whether you can connect to the web interface at http://10.0.10.51,  пользователь/пароль — ; the username and password are admin/password. В настоящий момент не все функции будут доступны, но веб-интерфейс должен работать, а вход в систему — быть успешным.

Отключение SSW версии 3.17

Для отключения старого SSW версии 3.17 выполнить следующие команды:
Отключение сервисов

Not all features will be available at this time, but the web interface should work, and you should be able to log in successfully.

Disabling SSW version 3.17

To disable the old SSW version 3.17, run the following commands:
Stopping services

Блок кода
titleon an old ssw
Блок кода
titleна старом SSW
sudo systemctl mask --now ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-sorm

...

Copying the Postgres database

Скопировать БД Postgres со старого ecss1, для этого выполнить командуCopy the Postgres database from the old ecss1 server by running the following command:

Блок кода
titleна старом SSWon an old ssw
sudo tar -Pcvf /tmp/postgres.tar /srv/ecss/ecss-postgres-bdr-ssw/volumes/

Скопировать Copy postgres.tar на новый сервер, выполнив командуto the new server by running the following command:

Блок кода
titleна старом SSWon an old ssw
 scp /tmp/postgres.tar <ваш_пользователь>@<IP_адрес_новый<your_user>@<IP_address_of_a_new_ecss1>:/tmp/postgres.tar

Остановить docker БД Postgres командойStop the Postgres database Docker with the following command:

Блок кода
titleна новом on a new ssw
sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml stop

Очистить подкаталог Clear the /srv/ecss/ecss-postgres-bdr-ssw/volumes subdirectory:

Блок кода
titleна новом on a new ssw_ecss1
sudo rm -R /srv/ecss/ecss-postgres-bdr-ssw/volumes/*

Распаковать БД Postgres на новом сервере ecss1Extract the Postgres database on the new ecss1 server.

Блок кода
titleна новом on a new ssw_ecss1
sudo tar xvf /tmp/postgres.tar -C / 

Запустить docker БД Postgres командойStart the Postgres database Docker with the following command:

Блок кода
titleна новом on a new ssw
sudo docker compose -f /srv/ecss/ecss-postgres-bdr-ssw/docker-compose.container.yml start

Замена IP адресов на старом ecss1

Replacing IP addresses on the old ecss1

Change the Изменить IP адреса 10.0.10.41/10.0.20.41 на неиспользуемые на сети (для примера на IP addresses to the ones that aren't used in the network (10.0.10.61/10.0.20.61, for example):

Блок кода
titleна старом SSWon an old ssw
sudo nano /etc/netplan/ecss.yaml
Раскрыть
titleБылоBefore:
Блок кода
titleБылоBefore:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3: # Название интерфейса ВМ к интернет Name of a virtual machine interface connected to internet
        dhcp4: yes
        dhcp6: no
    enp0s8: # Name of Названиеan интерфейсаinterface дляfor SSW
        dhcp4: no # ОтключаемDisable наdynamic интерфейсахIP динамическоеaddress распределение IP-адреса
        assignment on the interfaces
        dhcp6: no
        addresses: [192.168.56.41/24]
  vlans:
    net.10: # ИнтерфейсManagement управленияinterface
        id: 10
        link: enp0s8
        addresses: [10.0.10.41/24]
        nameservers:
          addresses: [127.0.0.1, 8.8.8.8] # АдресаAddresses серверовof DNS servers
    net.20: # ИнтерфейсInterface дляfor VoIP
        id: 20
        link: enp0s8
        addresses: [10.0.20.41/24]
        routes:
        - to: 10.0.20.128/25
          via: 10.0.20.35
Раскрыть
titleСталоAfter:
Блок кода
titleСталоAfter:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3: # НазваниеName интерфейсаof ВМa кvirtual интернет
machine interface connected to internet
        dhcp4: yes
        dhcp6: no
    enp0s8: # Name of Названиеan интерфейсаinterface дляfor SSW
            dhcp4: no # ОтключаемDisable наdynamic интерфейсахIP динамическоеaddress распределение IP-адреса
        assignment on the interfaces
        dhcp6: no
        addresses: [192.168.56.61/24]
  vlans:
    net.10: # ИнтерфейсManagement управленияinterface
            id: 10
        link: enp0s8
        addresses: [10.0.10.61/24]
        nameservers:
          addresses: [127.0.0.1, 8.8.8.8] # АдресаAddresses серверовof DNS servers
      net.20: # ИнтерфейсInterface дляfor VoIP
            id: 20
        link: enp0s8
        addresses: [10.0.20.61/24]
        routes:
        - to: 10.0.20.128/25
          via: 10.0.20.35
Блок кода
titleна старом SSWon an old ssw
sudo netplan apply

Переключение нового SSW на рабочие IP адреса

Switching the new SSW to operational IP addresses

Once the operational IP addresses have been removed from the old SSW, you can assign them to the new SSW. Run the following commandПосле освобождения рабочих IP адресов со старого SSW можно подключить их к новому SSW. Выполнить команду:

Блок кода
titleна новом on a new ssw
sudo nano /etc/netplan/ecss.yaml

Изменить Change the IP адреса addresses 10.0.10.51/10.0.20.51 на используемые на сети для SSW (в примере to those used on the network for the SSW (in the example, 10.0.10.41/10.0.20.41):

Раскрыть
titleБылоBefore:
Блок кода
titleБылоBefore:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3: # НазваниеName интерфейсаof ВМa кvirtual интернет
machine interface connected to internet
        dhcp4: yes
        dhcp6: no
    enp0s8: # Название интерфейса дляName of an interface for SSW
            dhcp4: no # ОтключаемDisable наdynamic интерфейсахIP динамическоеaddress распределение IP-адреса
        assignment on the interfaces
        dhcp6: no
        addresses: [192.168.56.51/24]
  vlans:
    net.10: # ИнтерфейсManagement управленияinterface
            id: 10
        link: enp0s8
        addresses: [10.0.10.51/24]
        nameservers:
          addresses: [127.0.0.1, 8.8.8.8] # АдресаAddresses серверовof DNS servers
      net.20: # ИнтерфейсInterface дляfor VoIP
            id: 20
        link: enp0s8
        addresses: [10.0.20.51/24]
        routes:
        - to: 10.0.20.128/25
          via: 10.0.20.35
Раскрыть
titleСтало:
Блок кода
titleСтало:
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3: # НазваниеName интерфейсаof ВМa кvirtual интернет
machine interface connected to internet
        dhcp4: yes
        dhcp6: no
    enp0s8: # Name of Названиеan интерфейсаinterface дляfor SSW
            dhcp4: no # ОтключаемDisable наdynamic интерфейсахIP динамическоеaddress распределение IP-адреса
        assignment on the interfaces
        dhcp6: no
        addresses: [192.168.56.41/24]
  vlans:
    net.10: # ИнтерфейсManagement управленияinterface
            id: 10
        link: enp0s8
        addresses: [10.0.10.41/24]
        nameservers:
          addresses: [127.0.0.1, 8.8.8.8] # АдресаAddresses серверовof DNS servers
      net.20: # ИнтерфейсInterface дляfor VoIP
            id: 20
        link: enp0s8
        addresses: [10.0.20.41/24]
        routes:
        - to: 10.0.20.128/25
          via: 10.0.20.35
Блок кода
titleна новом on a new ssw
sudo netplan apply

Обновить IP адрес в файле Update an IP address in the /etc/hosts file:

Блок кода
titleна новом on a new ssw
sudo nano /etc/hosts

Обновить IP адрес в файле Update an IP address in the /etc/dnsmasq.d/ecss-broker file:

Блок кода
titleна новом on a new ssw
sudo dpkg-reconfigure ecss-dns-env
Блок кода
titleвыполняется в performed in CoCon
/system/licence/manager/set --hosts [https://10.0.10.41:4321]
Блок кода
titleна новом on a new ssw
sudo systemctl restart ecss-ds ecss-mycelium ecss-mediator ecss-core ecss-pa-sip ecss-media-server

После выполнения обновления проверьте работу всех сервисов SSWAfter the update is complete, verify that all SSW services are functioning properly.