В данном разделе описываются команды управления службой CFC (Call Forwarding by Cause).
Служба CFC отвечает за маршрутизацию вызовов по причине разъединения - неуспешные вызовы могут маршрутизироваться на автоинформатор по определенной причине разъединения. Для настройки службы CFC необходимо настроить соответствие между причиной разъединения (ISUP или ACP cause) и мелодией, которая должна проигрываться на данное событие.
Для администратора виртуальной АТС команды выполняются на уровне виртуальной АТС в разделе domain/<DOMAIN>/cfc/ и применяются только для определенной виртуальной АТС.

<CORE> - имя кластера CORE;

<DOMAIN> - имя виртуальной АТС.

clean

Данной командой осуществляется установка автоинформатора по умолчанию для определенной причины "сause" службы CFC:

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

Описание внутренних причин разъединения (АСР сause) приведено в Приложении Г. Описание внутренних причин разъединения.

Путь команды:

/domain/<DOMAIN>/cfc/clean

Синтаксис:

clean [<FIELD>] [--force]

Параметры:

<FIELD> - внутренняя причина разъединения (cause). Если не указывать данный параметр, то значения по умолчанию будут восстановлены для всех "сause";

--force - выполнение команды без запроса подтверждения.

Пример:

admin@ds1@ecss1:/$ domain/biysk.local/cfc/clean external_isup_causes
Property external_isup_causes values successfully restored

[exec at: 15.02.2021 16:23:26, exec time: 221ms, nodes: core1@ecss1 v.3.14.7.578]

admin@ds1@ecss1:/$ domain/biysk.local/cfc/clean apty_abandon 
Property apty_abandon values successfully restored

[exec at: 15.02.2021 16:23:37, exec time: 211ms, nodes: core1@ecss1 v.3.14.7.578]

info

Команда просмотра установленных значений автоинформаторов для "сause" сервиса CFC.

Путь команды:

/domain/<DOMAIN>/cfc/info

Синтаксис:

info [<FIELD>]

Параметры:

<Field> - название свойства, принимает значения, указанные в таблице 1.

admin@ds1@ecss1:/$ domain/biysk.local/cfc/info
┌──────────────────────────────┬───────────┬─────────────────────────────────────────────┐
│           Property           │  Domain   │                    Value                    │
├──────────────────────────────┼───────────┼─────────────────────────────────────────────┤
│anonymity_disallowed          │biysk.local│                                             │
│apty_abandon                  │biysk.local│                                             │
│apty_disc                     │biysk.local│                                             │
│authorisation_failure         │biysk.local│system://sounds/ai_wrong_number.wav          │
│bpty_busy_ndub                │biysk.local│                                             │
│bpty_busy_udub                │biysk.local│                                             │
│bpty_disc                     │biysk.local│                                             │
│bpty_no_answer                │biysk.local│system://sounds/ai_no_answer.wav             │
│call_being_forwarded          │biysk.local│                                             │
│called_party_rejected         │biysk.local│                                             │
│collect_information_failure   │biysk.local│system://sounds/ai_wrong_number.wav          │
│conversation_timeout          │biysk.local│system://sounds/ai_conversation_timeout.wav  │
│destination_out_of_order      │biysk.local│system://sounds/ai_error.wav                 │
│do_not_disturb                │biysk.local│                                             │
│enable                        │biysk.local│true                                         │
│external_acp_causes           │biysk.local│                                             │
│external_isup_causes          │biysk.local│1 -> system://sounds/ai_number_absent.wav    │
│                              │           │2 -> system://sounds/ai_wrong_number.wav     │
│                              │           │3 -> system://sounds/ai_wrong_number.wav     │
│                              │           │18 -> system://sounds/ai_not_reachable.wav   │
│                              │           │19 -> system://sounds/ai_no_answer.wav       │
│                              │           │20 -> system://sounds/ai_notconnected.wav    │
│                              │           │21 -> system://sounds/ai_notaccess.wav       │
│                              │           │22 -> system://sounds/ai_number_not_ready.wav│
│                              │           │27 -> system://sounds/ai_out_of_order.wav    │
│                              │           │28 -> system://sounds/ai_invalidnumber.wav   │
│                              │           │34 -> system://sounds/ai_overload.wav        │
│                              │           │38 -> system://sounds/ai_error.wav           │
│                              │           │41 -> system://sounds/ai_error.wav           │
│                              │           │42 -> system://sounds/ai_system_problem.wav  │
│                              │           │44 -> system://sounds/ai_overload.wav        │
│                              │           │88 -> system://sounds/ai_out_of_order.wav    │
│                              │           │102 -> system://sounds/ai_timeout.wav        │
│foreground                    │biysk.local│false                                        │
│invalid_collected_information │biysk.local│system://sounds/ai_wrong_number.wav          │
│invalid_number                │biysk.local│system://sounds/ai_invalidnumber.wav         │
│no_circuit_available          │biysk.local│system://sounds/ai_badroute.wav              │
│no_requested_circuit_available│biysk.local│system://sounds/ai_badroute.wav              │
│normal                        │biysk.local│                                             │
│not_reachable                 │biysk.local│system://sounds/ai_not_reachable.wav         │
│number_incomplete             │biysk.local│system://sounds/ai_invalidnumber.wav         │
│o_no_answer                   │biysk.local│system://sounds/ai_no_answer.wav             │
│origination_denied            │biysk.local│system://sounds/ai_notaccess.wav             │
│route_failure1                │biysk.local│                                             │
│route_failure2                │biysk.local│                                             │
│route_select_failure          │biysk.local│system://sounds/ai_out_of_order.wav          │
│ss7_failure                   │biysk.local│system://sounds/ai_system_problem.wav        │
│system_failure                │biysk.local│system://sounds/ai_system_problem.wav        │
│t_exception                   │biysk.local│system://sounds/ai_system_problem.wav        │
│termination_denied            │biysk.local│system://sounds/ai_tempdenied.wav            │
│unassigned_number             │biysk.local│system://sounds/ai_notconnected.wav          │
└──────────────────────────────┴───────────┴─────────────────────────────────────────────┘

[exec at: 15.02.2021 16:17:44, exec time: 39ms, nodes: core1@ecss1 v.3.14.7.578]

set

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

Путь команды:

/domain/<DOMAIN>/cfc/set

Синтаксис:

set <FIELD> <VALUE>

Параметры:

<FIELD> - имя свойства, значение которого необходимо изменить. Описание внутренних причин разъединения приведено Части 5 Руководство по обслуживанию системы ECSS-10, в Приложении Г. Описание внутренних причин разъединения.

<VALUE> - новое значение свойства

Для всех свойств доступны значения:

  • disable - автоинформатор отключен;
  • system <FILE> - проигрывание файла <FILE>;
  • tone tone <FREQUENCY1> <FREQUENCY2> <TONE_ON> <TONE_OFF> <DURATION>;
    <FREQUENCY> - частота сигнала (Гц). Если нужно использовать одночастотный сигнал, то для второй частоты установите значение 0;
    <TONE_ON> - время проигрывания сигнала (ms);
    <TONE_OFF> - время проигрывания тишины (время между сигналами) (ms);
    <DURATION> - общее время проигрывания тона (dutation = -1 - бесконечное количество повторов).

Исключение составляют свойства:
1. enable - состояние CFC-службы
Принимает значения:

  • true - включение CFC-службы;
  • false - отключение CFC-службы.

2. external_acp_causes и external_isup_causes - управление дополнительными автоинформаторами на заданный ACP или ISUP Cause
Используемые значения:

  • add <Произвольный ACP Cause> <Номер автоинформатора> disable | system | tone - для добавления дополнительного автоинформатора на заданный ACP Cause;
  • remove <ACP Cause> - для удаления автоинформатора для определенного <ACP Cause>.

3. foreground - принудительное озвучивание причины разъединения
Принимает значения:

  • true - разрешить принудительное озвучивание причины разъединения данным сервисом;
  • false - запретить принудительное озвучивание причины разъединения данным сервисом.

Для выполнения вызова на существующего абонента вместо автоинформатора необходимо в качестве [Идентификатор тона] указать значение "call".

Примеры:

Добавление автоинформатора для apty_abandon:
admin@ds1@ecss1:/$ domain/biysk.local/cfc/set apty_abandon system sounds/ai_busy.wav
Property "apty_abandon" successfully changed from: 

   to
system://sounds/ai_busy.wav.

[exec at: 15.02.2021 16:22:46, exec time: 221ms, nodes: core1@ecss1 v.3.14.7.578]

% Добавление произвольного ISUP Cause:

admin@ds1@ecss1:/$ domain/biysk.local/cfc/set external_isup_causes add 88 system sounds/ai_out_of_order.wav
Property "external_isup_causes" successfully changed from: 
1 -> system://sounds/ai_number_absent.wav
2 -> system://sounds/ai_wrong_number.wav
3 -> system://sounds/ai_wrong_number.wav
18 -> system://sounds/ai_not_reachable.wav
19 -> system://sounds/ai_no_answer.wav
20 -> system://sounds/ai_notconnected.wav
21 -> system://sounds/ai_notaccess.wav
22 -> system://sounds/ai_number_not_ready.wav
27 -> system://sounds/ai_out_of_order.wav
28 -> system://sounds/ai_invalidnumber.wav
34 -> system://sounds/ai_overload.wav
38 -> system://sounds/ai_error.wav
41 -> system://sounds/ai_error.wav
42 -> system://sounds/ai_system_problem.wav
44 -> system://sounds/ai_overload.wav
102 -> system://sounds/ai_timeout.wav
   to
1 -> system://sounds/ai_number_absent.wav
2 -> system://sounds/ai_wrong_number.wav
3 -> system://sounds/ai_wrong_number.wav
18 -> system://sounds/ai_not_reachable.wav
19 -> system://sounds/ai_no_answer.wav
20 -> system://sounds/ai_notconnected.wav
21 -> system://sounds/ai_notaccess.wav
22 -> system://sounds/ai_number_not_ready.wav
27 -> system://sounds/ai_out_of_order.wav
28 -> system://sounds/ai_invalidnumber.wav
34 -> system://sounds/ai_overload.wav
38 -> system://sounds/ai_error.wav
41 -> system://sounds/ai_error.wav
42 -> system://sounds/ai_system_problem.wav
44 -> system://sounds/ai_overload.wav
88 -> system://sounds/ai_out_of_order.wav
102 -> system://sounds/ai_timeout.wav.

[exec at: 15.02.2021 16:16:09, exec time: 212ms, nodes: core1@ecss1 v.3.14.7.578]

Автоинформатор при получении отбоя по радиус

Существует возможность включить голосовое сообщение информирующее клиента о причине отключения,
для этого необходимо передать в пакете Access-Reject атрибут Reply-Message, данный атрибут может принимать следующие значения:

  • ecss-routing-cause-isup=<INT>
  • ecss-routing-cause-acp=<String>

Пример:

Конфигурация для freeradius(etc/freeradius/users):

1010 Auth-Type := Reject
    Reply-Message = "ecss-routing-cause-acp=systemFailure" 

1111 Auth-Type := Reject
    Reply-Message = "ecss-routing-cause-isup=30" 

Настройка голосовых сообщений для acp_cause:

admin@ds1@ecss1:/$ domain/biysk.local/cfc/set system_failure system sounds/ai_system_problem.wav 
Property "system_failure" successfully changed from: 
system://sounds/ai_system_problem.wav
   to
system://sounds/ai_system_problem.wav.

[exec at: 15.02.2021 16:21:16, exec time: 215ms, nodes: core1@ecss1 v.3.14.7.578]

Настройка голосовых сообщений для isup_cause:

admin@ds1@ecss1:/$ domain/biysk.local/cfc/set external_isup_causes add 30 system sounds/ai_no_money_to_call.wav
Property "external_isup_causes" successfully changed from: 
1 -> system://sounds/ai_number_absent.wav
2 -> system://sounds/ai_wrong_number.wav
3 -> system://sounds/ai_wrong_number.wav
18 -> system://sounds/ai_not_reachable.wav
19 -> system://sounds/ai_no_answer.wav
20 -> system://sounds/ai_notconnected.wav
21 -> system://sounds/ai_notaccess.wav
22 -> system://sounds/ai_number_not_ready.wav
27 -> system://sounds/ai_out_of_order.wav
28 -> system://sounds/ai_invalidnumber.wav
34 -> system://sounds/ai_overload.wav
38 -> system://sounds/ai_error.wav
41 -> system://sounds/ai_error.wav
42 -> system://sounds/ai_system_problem.wav
44 -> system://sounds/ai_overload.wav
88 -> system://sounds/ai_out_of_order.wav
102 -> system://sounds/ai_timeout.wav
   to
1 -> system://sounds/ai_number_absent.wav
2 -> system://sounds/ai_wrong_number.wav
3 -> system://sounds/ai_wrong_number.wav
18 -> system://sounds/ai_not_reachable.wav
19 -> system://sounds/ai_no_answer.wav
20 -> system://sounds/ai_notconnected.wav
21 -> system://sounds/ai_notaccess.wav
22 -> system://sounds/ai_number_not_ready.wav
27 -> system://sounds/ai_out_of_order.wav
28 -> system://sounds/ai_invalidnumber.wav
30 -> system://sounds/ai_no_money_to_call.wav
34 -> system://sounds/ai_overload.wav
38 -> system://sounds/ai_error.wav
41 -> system://sounds/ai_error.wav
42 -> system://sounds/ai_system_problem.wav
44 -> system://sounds/ai_overload.wav
88 -> system://sounds/ai_out_of_order.wav
102 -> system://sounds/ai_timeout.wav.

[exec at: 15.02.2021 16:21:53, exec time: 218ms, nodes: core1@ecss1 v.3.14.7.578]