| No | Checklist item | Command | Expected result | Recommendations for achieving the expected result |
|---|
Testing the started services |
|---|
| 1 | Checking the started telephony services:- ecss-mycelium
- ecss-core
- ecss-ds
- ecss-pa-sip
- ecss-mediator

| sudo systemctl list-units --all |\
grep -E "ecss-core|myc|ecss-ds|sip|mediator" |\
awk '{print $1, $3"("$4")"}' |\
jq -R 'split(" ")|{servise:.[0], status:.[1]}' |
| Copy all strings of the command in their entirety |
| {
"servise": "ecss-core.service",
"status": "active(running)"
}
{
"servise": "ecss-ds.service",
"status": "active(running)"
}
{
"servise": "ecss-mediator.service",
"status": "active(running)"
}
{
"servise": "ecss-mycelium.service",
"status": "active(running)"
}
{
"servise": "ecss-pa-sip.service",
"status": "active(running)"
} |
Make sure all services from the list are active (running) |
| Start the service which status is: inactive (dead), or different from active (running) |
| 2 | Checking the started service for processing voice/video traffic: 
| sudo systemctl list-units --all |\
grep "ecss-media-server.service" |\
awk '{print $1, $3"("$4")"}' |\
jq -R 'split(" ")|{servise:.[0], status:.[1]}' |
| Copy all strings of the command in their entirety |
| {
"servise": "ecss-media-server.service",
"status": "active(running)"
}
|
Make sure the ecss-media-server is active(running) |
| Start the ecss-media-server.service service if its status is different from: active(running)
|
| 3 | Checking the started restfs* services (The services are responsible for storing and providing call recording files and automated message files)  | sudo systemctl list-units --all | tr -d '●' |\
grep -E "restfs" | grep -E "card|core|unit|timer|writer" |\
awk '{print $1,$3 "("$4")"}' |\
jq -R 'split(" ")|{servise:.[0], status:.[1]}' |
| Copy all strings of the command in their entirety |
| {
"servise": "ecss-restfs-card.service",
"status": "active(exited)"
}
{
"servise": "ecss-restfs-core.service",
"status": "active(exited)"
}
{
"servise": "ecss-restfs-unit-conf.service",
"status": "active(exited)"
}
{
"servise": "ecss-restfs-unit.service",
"status": "active(running)"
}
{
"servise": "ecss-restfs-writer.service",
"status": "active(running)"
}
{
"servise": "ecss-restfs-cleaner.timer",
"status": "active(waiting)"
}
{
"servise": "ecss-restfs-crawler.timer",
"status": "active(waiting)"
}
|
Make sure all services from the list are active. active(exited) – is a normal status for: active(waiting) – is a normal status for: |
| Start the services the status of which starts with inactive
|
| 4 | Checking web services:- ecss-web-conf
- ecss-teleconference-ui
- ecss-cc-ui

| sudo systemctl list-units --all |\
grep -E "ecss-web|teleconf|cc-ui" |\
awk '{print $1,$3 "("$4")"}' |\
jq -R 'split(" ")|{servise:.[0], status:.[1]}' |
| Copy all strings of the command in their entirety |
| {
"servise": "ecss-cc-ui-api.service",
"status": "active(running)"
}
{
"servise": "ecss-cc-ui.service",
"status": "active(exited)"
}
{
"servise": "ecss-teleconference-ui-api.service",
"status": "active(running)"
}
{
"servise": "ecss-teleconference-ui.service",
"status": "active(exited)"
}
{
"servise": "ecss-web-conf.service",
"status": "active(running)"
}
{
"servise": "ecss-web-socket.service",
"status": "active(running)"
} |
Make sure all services from the list are active. active(exited) – is a normal status for: |
| Start the services the status of which starts with inactive |
| 5 | Checking system services connected to ECSS-10
| sudo systemctl list-units -all | grep dnsmasq |\
awk '{print $1,$3 "("$4")"}' |\
jq -R 'split(" ")|{service:.[0],status:.[1]}' |
| Copy all strings of the command in their entirety |
| {
"service": "dnsmasq.service",
"status": "active(running)"
} |
Make sure that the dnsmasq service is active(running). |
| Start the service if its status is inactive |
| # Generated by NetworkManager
search eltex.loc
nameserver 127.0.0.1 |
Make sure that 127.0.0.1 address is specified in the nameserver; your root domain can be specified in the search. |
| Change nameserver address to 127.0.0.1 |
| 6 | Checking the status of the glusterfs distributed storage for restfs
| sudo systemctl list-units --all |\
grep -E '[sb*]-glusterf|glusterd' |\
awk {'print $1, $3 "("$4")"'} |\
jq -R 'split(" ")|{service:.[0], status:.[1]}' |
| Copy all strings of the command in their entirety |
| {
"service": "var-lib-glusterfs.mount",
"status": "active(mounted)"
}
{
"service": "ecss-glusterfs-mount.service",
"status": "active(running)"
}
{
"service": "glusterd.service",
"status": "active(running)"
} |
Make sure all services from the list are active (running) |
| Start the services the status of which isn't active. |
| 6.1 | Viewing the status of a distributed glusterfs storage system
| | Volume Name: ecss_volume
Type: Replicate
Volume ID: 3fcc1c59-1243-406c-9990-f0ff33fb2ce5
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: <IP ECSS1>:/var/lib/ecss/glusterfs
Brick2: <IP ECSS2>:/var/lib/ecss/glusterfs
Options Reconfigured:
performance.client-io-threads: off
nfs.disable: on
transport.address-family: inet
cluster.favorite-child-policy: size |
Make sure that the Status field contains the Started value. |
| If the status is “Stopped,” run the “start” command for this network storage device |
| 6.2 | Viewing a distributed glusterfs storage system connected to a file system
| | localhost:/ecss_volume 9.8G 2.1G 7.4G 22% /var/lib/ecss/restfs |
Check that this line, which begins with localhost:/ecss_volume, is present, and ensure there is sufficient free space (you can estimate this based on the value in %). Make sure that the network storage is connected specifically to /var/lib/ecss/restfs. |
|
|
| 7 | Checking the ECSS-10 database status | |
|
|
Checking the services started inside the ECSS-10 |
|---|
| 1 | Checking the connection to the management console (CoCon):The following steps are performed without exiting CoCon. 
| ssh admin@localhost -p 8023 |
| admin@localhost's password:
admin@[mycelium1@ecss1#ECSS-ID]:/ |
Make sure you are logged in to CoCon and that your ECSS-ID is listed in the invitation line. |
| Contact technical support |
| 2 | Viewing the nodes connected to the ECSS-10 cluster
| | Nodes:
core1@ecss1 core1@ecss2
ds1@ecss1 ds1@ecss2
md1@ecss1 md1@ecss2
mycelium1@ecss1 mycelium1@ecss2
sip1@ecss1 sip1@ecss2
All services are started |
Make sure that your system has exactly the same list of nodes running in the ECSS-10 cluster. |
| Start a service that is not running on your system but is listed here |
| 3 | Viewing the MSRs connected to the ECSS-10 cluster
| system/media/resource/list short
|
| support@[mycelium1@ecss1#ECSS 000118]:/$ system/media/resource/list short
Active media resource selected list specific:
┌─────────────┬───────────┬────────────┬───────────┬─────────────┐
│ Node │ MSR │ MSR │ Cc-status │ Cc-uptime │
│ │ │ version │ │ │
├─────────────┼───────────┼────────────┼───────────┼─────────────┤
│ core1@ecss1 │ MSR1.name │ 3.14.15.243│ connected │ 29 03:34:52 │
│ │ MSR2.name │ 3.14.15.243│ connected │ 29 03:15:03 │
│ core1@ecss2 │ MSR1.name │ 3.14.15.243│ connected │ 29 00:34:36 │
│ │ MSR2.name │ 3.14.15.243│ connected │ 29 00:33:35 │
└─────────────┴───────────┴────────────┴───────────┴─────────────┘ |
Verify that the Cc-status for the MSRs named MSR1.name and MSR2.name are connected. On your system, the MSR name may differ from those listed here. There may also be other MSRs, but the minimum number of MSRs for the cluster is 4. |
| Check that the following configuration files are correct: - /etc/ecss/ecss-media-server/config.xml
- /etc/ecss/ecss-media-server/conf.d/default.xml
|
| 4 | Viewing the status of the restfs storage
| | ┌────────────┬──────────────────────────────┬─────────┐
│Cluster name│ Peer │ Status │
├────────────┼──────────────────────────────┼─────────┤
│default │http://system.restfs.ecss:9990│connected│
└────────────┴──────────────────────────────┴─────────┘
Succesfull |
Make sure that default restfs has the connected status. |
| Contact technical support |
| 5 | Viewing the available auto-informer files
| | Type Name Size
directory domain 4K
directory system 4K
directory template 4K
file cleaner.json 1.03K |
Make sure the command output includes the following required names: - domain
- system
- template
- cleaner.json
Other files and directories may also be present, but only the four listed above are required. |
| Contact technical support |
| 6 | Viewing the active commercial license
| cluster/storage/ds1/licence/list-licence |
| ┌──┬───────────────────┬────────────┬──────┬──────────────────────┬────────────────────┬──────────┐
│Id│Creation date(UTC) │ SSW ID │Active│ Description │Expiration date(UTC)│Time left │
├──┼───────────────────┼────────────┼──────┼──────────────────────┼────────────────────┼──────────┤
│1 │05.08.2025 13:50:00│ECSS-Test │* │Eltex-SC test │05.08.2026 13:50:00 │83d 6h 36m│
│0 │ │ECSS DEFAULT│ │Default licence │ │ │
└──┴───────────────────┴────────────┴──────┴──────────────────────┴────────────────────┴──────────┘ |
Make sure that the command output includes a license with an ID other than 0, and that this row contains an "*" in the Active column. There may be multiple licenses, but only one can be active (the Active column will contain an “*”) – the one with the highest value in the ID column. |
|
|
Testing the functionality of the ECSS-10 telephony |
| 1 | Checking the playback of auto-attendant files to the calling subscriber using the "My Number" service as an example | On the station subscriber’s phone, dial the feature code: *123. | The caller should hear their own phone number through the handset or speaker |
|
|---|
| 2 | Checking intra-exchange calls |
|
|---|
Checking the routing of a direct call from one exchange subscriber to another (A → B). | On the phone of exchange subscriber “A,” dial the phone number of exchange subscriber “B.” | - Check that the connection is established correctly.
- Check that voice traffic is transmitted correctly between the two subscribers.
- Check that the caller’s number and name are displayed on Subscriber B’s phone.
- Check that Subscriber B’s name is displayed on Subscriber A’s phone.
|
|
Checking a return call from one exchange subscriber to another (B → A) | On subscriber B’s telephone, dial the phone number of the other exchange subscriber, subscriber A. |
| 3 | Checking calls to local numbers
|
|
|---|
Проверка совершения прямого вызова между абонентом станции и городским номером (транковый вызов) (А → Бгор) | На телефоне абонента станции необходимо набрать городскзначный) номер телефона не принадлежащий данной АТС | - Убедиться в корректном установлении соединения.
- Убедиться в корректном прохождении голосового медиатрафика между двумя абонентами.
- Убедиться в корректном определении вызывающего номера на телефонном аппарате Б.
|
|
Проверка совершения обратного вызова между абонентом станции и городским номером (транковый вызов) (Бгор → А) | Выполнить вызов с городского номера на номер абонента станции, используя его городской номер |
| 4 | Проверка междугородних вызовов и вызовов на мобильные номера 
|
|
|---|
Проверка совершения прямого вызова между абонентом станции и междугороним номером (транковый вызов) (А → Бмг/моб) | На телефоне абонента станции необходимо набрать номер телефона в междугородном формате (11 знаков) | - Убедиться в корректном установлении соединения.
- Убедиться в корректном прохождении голосового медиатрафика между двумя абонентами.
- Убедиться в корректном определении вызывающего номера на телефонном аппарате Б.
|
|
Проверка совершения обратного вызова между абонентом станции и междугороним номером (транковый вызов) (Бмг/моб → А) | Выполнить вызов с междугороднего номера или мобильного номера, на номер абонента станции, используя его городской номер |
| 5 | Проверка корректного выполнения переадресаций (CFU/CFNR/CFT/CFB) |
|
|---|
Проверка корректности совершения переадресации на абонента станции А → Б → Cаб | На абоненте "Б" установить любую из доступных видов переадресацию на абонента "С" через веб-интерфейс станции или через feature-code. Совершить вызов с абонента "А" на абонента "Б" | - Убедиться в корректном установлении соединения между "А" и "С".
- Убедиться в корректном прохождении голосового медиатрафика между двумя абонентами.
- Убедиться в корректном определении вызывающего номера на телефонном аппарате "С".
- Убедиться в корректном определении номера "С" на телефонном аппарате "А".
|
|
Проверка корректности совершения переадресации на мобильный номер А → Б → Cмоб | На абоненте "Б" установить любую из доступных видов переадресацию на мобильный номер "С" через веб-интерфейс станции или через feature-code. Совершить вызов с абонента "А" на абонента "Б" |
|
Проверка корректности совершения переадресации на мобильный номер при входящем вызове с мобильного/городского номера Амг/моб → Б → Cмоб | На абоненте "Б" установить любую из доступных видов переадресацию на мобильный номер "С" через веб-интерфейс станции или через feature-code. Совершить вызов с мобильного номера "А" на абонента "Б", используя его городской номер | - Убедиться в корректном установлении соединения между "А" и "С".
- Убедиться в корректном прохождении голосового медиатрафика между двумя абонентами.
- Убедиться в корректном определении вызывающего номера на телефонном аппарате "С".
|
|
| 6 | Проверка сбора конференции (add-on) |
|
|---|
Проверка корректности организации конференции с тремя участниками А → Б А → С А + Б + С | С абонента "А"( при наличии у него услуг: add-on, ctr, chold) организовать конференцию с другими абонентами "Б" и "С" | - Убедиться в корректном установлении соединения между "А", "Б", "C".
- Убедиться в корректном прохождении голосового медиатрафика между тремя абонентами.
|
|
7+ | Проверка остальных используемых сервисов |
|
|---|
| Выполнить проверки функций всех сервисов/интеграций, которые используются в вашей компании, например: - email2fax
- fax2email
- IVR
- Телеконференции
- CallCenter
- Автообзвонщик
и другие |
|
|
|
|---|