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

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

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

clean

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

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

Таблица 1. Значения CFC по умолчанию

Название свойстваЗначение по умолчанию
apty_abandon
apty_disc
authorisation_failuresystem://sounds/ai_wrong_number.wav
bpty_busy_ndub
bpty_busy_udub
bpty_disc
bpty_no_answersystem://sounds/ai_no_answer.wav

call_being_forwarded


called_party_rejected
collect_information_failuresystem://sounds/ai_wrong_number.wav
conversation_timeout
destination_out_of_ordersystem://sounds/ai_error.wav
do_not_disturb
enabletrue
external_acp_causes
external_isup_causes1 -> system://sounds/ai_number_absent.wav
2 -> system://sounds/ai_wrong_number.wav
3 -> system://sounds/ai_wrong_number.wav
18 -> system://sounds/ai_no_answer.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
102 -> system://sounds/ai_timeout.wav
foregroundfalse
invalid_collected_informationsystem://sounds/ai_wrong_number.wav
invalid_numbersystem://sounds/ai_invalidnumber.wav
no_circuit_availablesystem://sounds/ai_badroute.wav
normal
not_reachablesystem://sounds/ai_not_reachable.wav
number_incompletesystem://sounds/ai_invalidnumber.wav
o_no_answersystem://sounds/ai_no_answer.wav
origination_deniedsystem://sounds/ai_notaccess.wav
route_failure1
route_failure2
route_select_failuresystem://sounds/ai_out_of_order.wav
ss7_failuresystem://sounds/ai_system_problem.wav
system_failuresystem://sounds/ai_system_problem.wav
t_exceptionsystem://sounds/ai_system_problem.wav
termination_deniedsystem://sounds/ai_tempdenied.wav
unassigned_numbersystem://sounds/ai_notconnected.wav

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

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

/domain/<DOMAIN>/cfc/clean

Синтаксис:

clean [<FIELD>] [--force]

Параметры:

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

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

Пример:

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

[exec at: 28.02.2019 14:35:58, exec time: 533ms, nodes: core1@ecss2]

info

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

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

/domain/<DOMAIN>/cfc/info

Синтаксис:

info [<FIELD>]

Параметры:

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

admin@[mycelium1@ecss1]:/$ domain/biysk.local/cfc/info 
┌─────────────────────────────┬───────────┬─────────────────────────────────────────────┐
│          Property           │  Domain   │                    Value                    │
├─────────────────────────────┼───────────┼─────────────────────────────────────────────┤
│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│                                             │
│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  │
│                             │           │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              │
│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: 28.02.2019 13:22:49, exec time: 67ms, nodes: core1@ecss2]

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@[mycelium1@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: 28.02.2019 13:58:39, exec time: 625ms, nodes: core1@ecss1]

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

admin@[mycelium1@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
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
88 -> system://sounds/ai_out_of_order.wav
102 -> system://sounds/ai_timeout.wav.

[exec at: 28.02.2019 14:27:24, exec time: 650ms, nodes: core1@ecss1]

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

Существует возможность включить голосовое сообщение информирующее клиента о причине отключения,
для этого необходимо передать в пакете 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:
Property "system_failure" successfully changed from: 
system://sounds/ai_system_problem.wav
   to
system://sounds/ai_error.wav.

[exec at: 28.02.2019 14:31:30, exec time: 584ms, nodes: core1@ecss1]
Настройка голосовых сообщений для isup_cause:
admin@[mycelium1@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
30 -> system://sounds/ai_system_problem.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
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
88 -> system://sounds/ai_out_of_order.wav
102 -> system://sounds/ai_timeout.wav.

[exec at: 28.02.2019 14:34:46, exec time: 625ms, nodes: core1@ecss1]