Описание

Услуга "Конференц-связь с последовательным сбором участников (conference)" ("Conference Call, Add-on (conference)") предназначена для организации конференц-связи с последовательным сбором абонентов до 16 участников.

Услуга поддерживается как для basic, так и для smart терминалов.


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

Статус ДВОЗакончилась лицензия на конференцию?Конференция будет собрана?
3wayconference:
не активированоне активированоНетНет
не активированоактивированоДа
активированоне активированоДа, с ограничением в 3 участника
активированоактивированоДа
-ДаНет

Использование

Для работы услуги необходимо, чтобы у абонента были активирована услуга CHOLD и CTR.
  1. При использовании базового терминала, конференцию можно собирать двумя способами:
    • Совершить вызов на сервер конференции, а затем последовательно добавлять к конференции абонентов. Алгоритм будет выглядеть так:

      *71# – R – Аб.B – R+3 – R – Аб.C – R+3 – R – Аб.D – R+3
      где R — короткий отбой/кнопка flash

      Схема описывает создание конференции с абонентами A, B, C и D. Абонент A является инициатором конференции, а
      абоненты B, C и D участники конференции.

    • Собрать трехстороннюю конференцию, а затем последовательно добавлять абонентов. Алгоритм будет выглядеть так:

      Аб.В – R – Аб.С – R+3 – R – Аб.D – R+3
      где R — короткий отбой/кнопка flash

      Схема описывает создание конференции с абонентами A, B, C и D. Абонент A является инициатором конференции, а
      абоненты B, C и D участники конференции.

  2. Smart терминал поддерживает услугу согласно пунктам 5.5 и 5.6 рекомендации RFC 4579. В зависимости от логики работы терминала запрос на добавление в конференцию может быть отправлен либо конференц серверу, либо непосредственно терминалу абонента.

    На smart терминале необходимо настроить удаленную конференцию с conference URI: *71#@SIP-domain, где SIP-domain — домен конференц сервера. Настройка осуществляется на самом телефонном аппарате.

    • Абонент, собирающий конференцию, во время разговора нажимает клавишу сбора конференции на терминале (CONF), делает вызов на 2-го участника конференции;
    • После установления соединения, повторно нажимает на клавишу сбора конференции (CONF). Все 3 абонента слышат фразу приглашения в конференцию;
    • Следующие участники добавляются в конференцию аналогичным образом.

Управление с телефонного аппарата

Использование услуги

*71#

Настройка параметров услуги через интерфейс командной строки

Для активации услуги "conference" через интерфейс командной строки выполните следующую команду:

  • для администратора системы:

    Установите разрешение на использование услуги:

    /cluster/storage/<CLUSTER>/ss/enable <DOMAIN> <ADDRESS> conference

    Активируйте услугу:

    /cluster/storage/<CLUSTER>/ss/activate <DOMAIN> <ADDRESS> conference <DESTROY MODE>, <MAX_PARTCIPANTS>

  • для оператора виртуальной АТС:

    Установите разрешение на использование услуги: 

    /domain/<DOMAIN>/ss/enable <ADDRESS> conference

    Активируйте услугу:

    /domain/<DOMAIN>/ss/activate <ADDRESS> conference <DESTROY MODE>, <MAX_PARTCIPANTS>

где

<CLUSTER> — имя кластера хранения долговременных данных (DS);
<DOMAIN> — имя виртуальной АТС, которой принадлежит абонент(ы);
<ADDRESS> — номер(а) абонентов, для которых выполняется настройка услуги, символ "*" используется для указания всех абонентов заданной виртуальной АТС;

Диапазоны номеров указываются в фигурных скобках. Например: 71{1-2,9} соответствует номерам 711, 712, 719.

<DESTROY MODE> — режим завершения конференции:

  • by_no_master — конференция завершается, когда создатель кладет трубку;
  • by_no_more_calls — конференция завершается, когда не остается активных вызовов.

<MAX_PARTCIPANTS> — максимальное количество участников. Задается целым числом от 3 до 64.

Описание команд для управления услугами через интерфейс командной строки CLI приведено в Справочнике команд CLI, раздел /cluster/storage/<STORAGE>/ss/ — команды управления услугами или во вкладке ниже.

 Нажмите здесь для раскрытия...

/cluster/storage/<STORAGE>/ss/ — команды управления услугами

В данном разделе описаны команды управления услугами.

Услуга – вид обслуживания абонента телекоммуникационной сети, предоставляемый по заказу абонента с целью обеспечения расширенных возможностей.
Вид услуги — логическая группировка нескольких реализаций услуги, имеющих общее назначение, но различные реализации.
Имя услуги — имя конкретной реализации определенного вида услуг;
<CLUSTER> — имя кластера хранения долговременных данных (DS, Storage), для которой выполняются настройки;
<NODE> — имя ноды DS, для которой выполняются настройки;
<DOMAIN> — название виртуальной АТС (домена), для которой выполняются настройки.

Описание доступных услуг приведено в разделе Описание и настройка услуг:

Все услуги реализованы программными средствами и предоставляются абонентам сети независимо от абонентского оборудования.

Команды, предназначенные для управления услугами, располагаются на виртуальной файловой системе CoCon в директориях:

  • /cluster/storage/<CLUSTER>/ss/ — установка/удаление услуги, активация/деактивация услуги, обновление, настройка прав доступа на использование услуг, настройка разрешения на работу с определенным видом услуг;

 acess-list

Команда просмотра, добавления, удаления видов услуг, которые будут доступны для активации на виртуальной АТС.

  • access-list show — просмотр видов услуг, которые можно использовать в рамках определенной виртуальной АТС или по всем виртуальным АТС;
  • access-list add — добавление разрешения на работу с новым видом услуг;
  • access-list clear — удаление всех услуг из определенной виртуальной АТС
  • access-list remove — удаление разрешенных ранее видов услуг.

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

/cluster/storage/<CLUSTER>/ss/access-list

Синтаксис:

access-list show [<DomainName>]
access-list add <DomainName> <SSName> [, <SSName>]
access-list clear <DomainName>
access-list remove <DomainName> <SSName> [, <SSName>]

Параметры:

<DOMAIN> — имя виртуальной АТС (домен);
<SSName> — новый вид (виды) услуг. Для перечисления видов услуг используется ",". Для указания всех услуг используется "*".

Пример:

Добавить все виды услуг в виртуальную АТС  "front.office":

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/access-list add front.office *   
Supplementary services successfully added in the domain front.office.

[exec at: 08.02.2019 11:14:57, exec time: 67ms, nodes: ds1@ecss2]

Добавить следующий вид услуг в виртуальную АТС "front.office": переадресация вызова при занятости:

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/access-list add front.office cfb 
Supplementary services successfully added in the domain front.office.

[exec at: 08.02.2019 11:04:25, exec time: 83ms, nodes: ds1@ecss2]

Просмотреть список видов услуг, установленных для виртуальной АТС "front.office":

 Нажмите здесь для раскрытия...
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/access-list show front.office 
┌────────────┬─────────────────────────┐
│   Domain   │ Supplementary services  │
├────────────┼─────────────────────────┤
│front.office│3way                     │
│            │abonent_ivr              │
│            │acb                      │
│            │alarm                    │
│            │assistant                │
│            │auto_redial              │
│            │auto_redial_with_callback│
│            │blf                      │
│            │call_recording           │
│            │callback                 │
│            │cc_agent                 │
│            │cf_aon                   │
│            │cf_sip                   │
│            │cfb                      │
│            │cfnr                     │
│            │cfnr_type2               │
│            │cfos                     │
│            │cft                      │
│            │cfu                      │
│            │cfu_type2                │
│            │cgg                      │
│            │chold                    │
│            │chunt                    │
│            │click_to_call            │
│            │clip                     │
│            │clir                     │
│            │cliro                    │
│            │cnip                     │
│            │conference               │
│            │ctr                      │
│            │cw                       │
│            │direct_call              │
│            │distinctive_ring         │
│            │dnd                      │
│            │fax_receiver             │
│            │fax_to_email             │
│            │fbc                      │
│            │find_me                  │
│            │find_me_no_response      │
│            │flexicall                │
│            │follow_me                │
│            │follow_me_no_response    │
│            │intervention             │
│            │mcid                     │
│            │meet_me_conference       │
│            │message                  │
│            │ml                       │
│            │my_number                │
│            │park                     │
│            │pickup                   │
│            │presence                 │
│            │qsig_cfb                 │
│            │qsig_cfnr                │
│            │qsig_cfu                 │
│            │rbp                      │
│            │redial                   │
│            │remote_phone             │
│            │rfc                      │
│            │ring_back_tone           │
│            │sca                      │
│            │sco_black                │
│            │sco_white                │
│            │scr                      │
│            │speed_dial               │
│            │teleconference           │
│            │teleconference_manager   │
│            │tsmn_request             │
│            │vip_call                 │
│            │voice_page               │
│            │voice_page_control       │
│            │voicemail                │
│            │zone_page                │
└────────────┴─────────────────────────┘

[exec at: 11.02.2019 09:18:56, exec time: 75ms, nodes: ds1@ecss2]

Просмотреть список всех видов услуг, установленных в системе для каждой виртуальной АТС:

 Нажмите здесь для раскрытия...
admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/access-list show             
┌────────────┬─────────────────────────┐
│   Domain   │ Supplementary services  │
├────────────┼─────────────────────────┤
│biysk.local │3way                     │
│            │abonent_ivr              │
│            │acb                      │
│            │alarm                    │
│            │assistant                │
│            │auto_redial              │
│            │auto_redial_with_callback│
│            │blf                      │
│            │call_recording           │
│            │callback                 │
│            │cc_agent                 │
│            │cf_aon                   │
│            │cf_sip                   │
│            │cfb                      │
│            │cfnr                     │
│            │cfnr_type2               │
│            │cfos                     │
│            │cft                      │
│            │cfu                      │
│            │cfu_type2                │
│            │cgg                      │
│            │chold                    │
│            │chunt                    │
│            │click_to_call            │
│            │clip                     │
│            │clir                     │
│            │cliro                    │
│            │cnip                     │
│            │conference               │
│            │ctr                      │
│            │cw                       │
│            │direct_call              │
│            │distinctive_ring         │
│            │dnd                      │
│            │fax_receiver             │
│            │fax_to_email             │
│            │fbc                      │
│            │find_me                  │
│            │find_me_no_response      │
│            │follow_me                │
│            │follow_me_no_response    │
│            │intervention             │
│            │mcid                     │
│            │meet_me_conference       │
│            │message                  │
│            │ml                       │
│            │my_number                │
│            │park                     │
│            │pickup                   │
│            │presence                 │
│            │qsig_cfb                 │
│            │rbp                      │
│            │redial                   │
│            │remote_phone             │
│            │rfc                      │
│            │ring_back_tone           │
│            │sca                      │
│            │sco_black                │
│            │sco_white                │
│            │scr                      │
│            │speed_dial               │
│            │teleconference           │
│            │teleconference_manager   │
│            │tsmn_request             │
│            │vip_call                 │
│            │voice_page               │
│            │voice_page_control       │
│            │voicemail                │
│            │zone_page                │
│front.office│3way                     │
│            │abonent_ivr              │
│            │acb                      │
│            │alarm                    │
│            │assistant                │
│            │auto_redial              │
│            │auto_redial_with_callback│
│            │blf                      │
│            │call_recording           │
│            │callback                 │
│            │cc_agent                 │
│            │cf_aon                   │
│            │cf_sip                   │
│            │cfb                      │
│            │cfnr                     │
│            │cfnr_type2               │
│            │cfos                     │
│            │cft                      │
│            │cfu                      │
│            │cfu_type2                │
│            │cgg                      │
│            │chold                    │
│            │chunt                    │
│            │click_to_call            │
│            │clip                     │
│            │clir                     │
│            │cliro                    │
│            │cnip                     │
│            │conference               │
│            │ctr                      │
│            │cw                       │
│            │direct_call              │
│            │distinctive_ring         │
│            │dnd                      │
│            │fax_receiver             │
│            │fax_to_email             │
│            │fbc                      │
│            │find_me                  │
│            │find_me_no_response      │
│            │flexicall                │
│            │follow_me                │
│            │follow_me_no_response    │
│            │intervention             │
│            │mcid                     │
│            │meet_me_conference       │
│            │message                  │
│            │ml                       │
│            │my_number                │
│            │park                     │
│            │pickup                   │
│            │presence                 │
│            │qsig_cfb                 │
│            │qsig_cfnr                │
│            │qsig_cfu                 │
│            │rbp                      │
│            │redial                   │
│            │remote_phone             │
│            │rfc                      │
│            │ring_back_tone           │
│            │sca                      │
│            │sco_black                │
│            │sco_white                │
│            │scr                      │
│            │speed_dial               │
│            │teleconference           │
│            │teleconference_manager   │
│            │tsmn_request             │
│            │vip_call                 │
│            │voice_page               │
│            │voice_page_control       │
│            │voicemail                │
│            │zone_page                │
└────────────┴─────────────────────────┘

[exec at: 11.02.2019 09:21:32, exec time: 76ms, nodes: ds1@ecss1]

Удалить следующие виды услуг на виртуальной АТС "biysk.local": qsig-переадресация вызова при не ответе.

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/access-list remove biysk.local qsig_cfb     
Supplementary services successfully removed from the domain biysk.local.
[exec at: 12.02.2019 10:31:57, exec time: 96ms, nodes: ds1@ecss1]

Удаление всех услуг из  виртуальной АТС "front.office":

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/access-list clear front.office   
All supplementary services successfully removed from the domain front.office.

[exec at: 12.02.2019 16:08:18, exec time: 92ms, nodes: ds1@ecss2]
 activate

Команда для активации услуги у абонента. Активировать услугу может оператор либо абонент. После активации услуга будет работать только, если она разрешена абоненту.

Для того чтобы абонент мог активировать услугу, у него должен быть "доступ на управление" данной услугой.
Необходимо учитывать, что настройки услуги, заданные для определенного абонента, будут перекрывать общие (для всей виртуальной АТС) настройки услуг.

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

/cluster/storage/<CLUSTER>/ss/activate/

Синтаксис:

activate <DOMAIN> <ADDRESS> <SSName> <ARGS>

Параметры:

<DOMAIN> — имя виртуальной АТС (домен), которой принадлежит абонент;
<ADDRESS> — номер или диапазон номеров абонента(ов), для указания всех абонентов заданной виртуальной АТС используется "*". Диапазон номеров задается в виде ab {c-d}, что соответствует номерам abc, abd;
<SSNAME> — имя услуги;
<ARGS> — дополнительный параметр для услуги, задается в виде "number = ЗНАЧЕНИЕ" либо "numbers = [ЗНАЧЕНИЕ1,ЗНАЧЕНИЕ2,...]".

Пример:

Включить определитель имени для абонента 240465 виртуальной АТС с именем "biysk.local".

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/activate biysk.local 240465 cnip 
Success: Supplementary service cnip activated for domain "biysk.local" address "240465"

[exec at: 12.02.2019 10:46:58, exec time: 66ms, nodes: ds1@ecss1]

Разрешить использовать услугу "групповой вызов" абоненту "240465" с абонентами "240462", "240469" виртуальной АТС с именем "biysk.local".

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/activate biysk.local 240465 cgg numbers = [240462,240469]
Success: Supplementary service cgg activated for domain "biysk.local" address "240465"

[exec at: 12.02.2019 11:03:35, exec time: 91ms, nodes: ds1@ecss2]

Установить переадресацию вызова при неответе в течение 10 секунд на номере "240460"  на номер "416370".

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/activate biysk.local 240460 cfnr number=416370,timeout = 10
Success: Supplementary service cfnr activated for domain "biysk.local" address "240460"

[exec at: 12.02.2019 11:11:45, exec time: 83ms, nodes: ds1@ecss1]
 deactivate

Команда деактивации определенной услуги на определенной виртуальной АТС для абонента или группы абонентов.
При деактивации удаляются все настройки, которые были введены при активации услуг.

Необходимо учитывать, что при деактивации услуг на уровне виртуальной АТС, услуги деактивируется и на уровне абонента (если услуга было дополнительно активирована у абонента).

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

/cluster/storage/<CLUSTER>/ss/deactivate

Синтаксис:

deactivate <Domain> <Address> <SSNameList>

Параметры:

<Domain> — имя виртуальной АТС (домен), которой принадлежит абонент;
<Address> — номер или диапазон номеров абонента(ов). Для указания всех абонентов заданной виртуальной АТС используется "*". Диапазон номеров задается в виде ab {c-d}, что соответствует номерам abc, abd;
<SSNameList> — имя услуги, которую необходимо деактивировать.

Пример:

Деактивировать услугу с именем "cfu" на виртуальной АТС "biysk.local".

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/deactivate biysk.local * cfu 
Success: Supplementary service cfu deactivated for domain "biysk.local", address "240100".

[exec at: 13.02.2019 08:46:02, exec time: 310ms, nodes: ds1@ecss1]
 disable

Командой устанавливается запрет на использование услуги абонентом.

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

/cluster/storage/<CLUSTER>/ss/disable

Синтаксис:

disable <Domain> <Address> <SSNameList>

Параметры:

<Domain> — имя виртуальной АТС (домен), которой принадлежит абонент;

<ADDRESS> — номер или диапазон номеров абонента(ов), символ "*" используется для указания всех абонентов заданной виртуальной АТС. Диапазон номеров задается в виде ab {c-d}, что соответствует номерам abc, abd;
<SSNameList> — список услуг, которые будут недоступны абоненту.

Пример:

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

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/disable biysk.local 240465 cfnr              
Success: Supplementary service cfnr disabled for domain "biysk.local", address "240465".

[exec at: 12.02.2019 16:31:30, exec time: 100ms, nodes: ds1@ecss1]
 enable

Командой устанавливается разрешение на использование услуги абонентом.

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

/cluster/storage/<CLUSTER>/ss/enable

Синтаксис:

enable <Domain> <Address> <SSNameList>

Параметры:

<Domain> — имя виртуальной АТС (домен), которой принадлежит абонент;

<ADDRESS> — номер или диапазон номеров абонента(ов), символ "*" используется для указания всех абонентов определенной виртуальной АТС. Диапазон номеров задается в виде ab {c-d}, что соответствует номерам abc, abd;
<SSNameList> — список услуг, которые необходимо включить, список задается через ",". Символ "*" используется для указания всех абонентов.

Пример:

Разрешить абонентам с номерами 240460, 240461 пользоваться услугой "переадресация при неответе":

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/enable biysk.local 24046{0-1} cfnr         
Success: Supplementary service cfnr enabled for domain "biysk.local", address "240460".
Success: Supplementary service cfnr enabled for domain "biysk.local", address "240461".

[exec at: 13.02.2019 09:46:19, exec time: 175ms, nodes: ds1@ecss1]
 enabled

Команда просмотра списка разрешенных услуг для определенных абонентов.

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

/cluster/storage/<CLUSTER>/ss/enabled

/domain/<DOMAIN>/ss/enabled

Синтаксис:

enabled <Domain><ADDRESS>

Параметры:

<Domain> — имя виртуальной АТС;
<Address> — номер или диапазон номеров абонента(ов), опциональный параметр. Если параметр не указывать, будет показана информация по всем абонентам заданной виртуальной АТС. Диапазон номеров задается в виде ab {c-d}, что соответствует номерам abc, abd.

Пример:

Просмотр включенных услуг на виртуальной АТС biysk.local для абонентов 240460, 240461:

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/enabled biysk.local 24046{0-1}
┌─────────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────┐
│             Address             │                                        Enabled                                        │
├─────────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│240460                           │cfnr                                                                                   │
│240461                           │cfnr                                                                                   │
└─────────────────────────────────┴───────────────────────────────────────────────────────────────────────────────────────┘
Total: 2

[exec at: 13.02.2019 11:10:36, exec time: 158ms, nodes: ds1@ecss1]
 info

Команда просмотра информации об активированных в рамках виртуальной АТС услугах. Команда позволяет просматривать параметры, заданные при активации сервиса, а также показывает, доступно ли услуга для абонента на использование/управление или нет.

Для просмотра информации по определенному абоненту необходимо ввести имя виртуальной АТС и номер абонента.

Если требуется просмотреть информацию по всем абонентам в рамках определенной виртуальной АТС, то параметр "номер абонента" можно опустить либо ввести "all".

Если требуется просмотреть информацию только по услугам, активированным на уровне домена, то в качестве параметра "номер абонента" нужно ввести символ "*".

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

/cluster/storage/<CLUSTER>/ss/info

Синтаксис:

info <Domain> [-extended] [<Address>]

Параметры:

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

[-extended] — флаг, при указании которого будет показана подробная информация;

[<Address>] — номер телефона или диапазон номеров абонента(ов) виртуальной АТС . Диапазон номеров задается в виде ab {c-d}, что соответствует номерам abc, abd.

Пример:

Просмотреть полную информацию о всех услугах, активированных на виртуальной АТС "biysk.local".

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/info biysk.local -extended 24046{2-3}
Domain: biysk.local

Supplementary services' settings:
┌────────────┬────────────────────┬─┬─┬─────────────────────────────┬─────────────────────────────┬─────────────────────────────────┐
│  Address   │        Name        │V│E│             MSD             │             SSD             │               CSD               │
├────────────┼────────────────────┼─┼─┼─────────────────────────────┼─────────────────────────────┼─────────────────────────────────┤
│240462      │cc_agent            │2│T│                             │                             │                                 │
│240462      │cf_sip              │7│T│conflict_list = [cfu,assistan│forwarding_ss = true         │                                 │
│            │                    │ │ │t,follow_me,tsmn_request]    │                             │                                 │
│            │                    │ │ │owner = any                  │                             │                                 │
│240462      │chold               │8│T│                             │dtmf_detector = true         │disable_moh = false              │
│            │                    │ │ │                             │                             │dtmf_sequence_as_flash = false   │
│240462      │clip                │5│T│                             │                             │                                 │
│240462      │cnip                │3│T│owner = any                  │                             │                                 │
│240462      │conference          │9│T│conflict_list = ['3way']     │                             │destroy_mode = by_no_master      │
│            │                    │ │ │dependency_list = [chold,ctr]│                             │max_participants = 16            │
│            │                    │ │ │enumDestroy_mode = "by_no_mas│                             │                                 │
│            │                    │ │ │ter|by_no_more_calls"        │                             │                                 │
│240462      │ctr                 │5│T│dependency_list = [chold]    │dtmf_detector = true         │                                 │
│240462      │intervention        │3│T│                             │dtmf_detector = true         │                                 │
│240462      │mcid                │2│T│                             │                             │                                 │
│240462      │ml                  │3│T│                             │                             │line_count = 3                   │
│            │                    │ │ │                             │                             │line_count_out = -1              │
│240462      │park                │2│T│                             │                             │                                 │
│240463      │cc_agent            │2│T│                             │                             │                                 │
│240463      │cf_sip              │7│T│conflict_list = [cfu,assistan│forwarding_ss = true         │                                 │
│            │                    │ │ │t,follow_me,tsmn_request]    │                             │                                 │
│            │                    │ │ │owner = any                  │                             │                                 │
│240463      │chold               │8│T│                             │dtmf_detector = true         │disable_moh = false              │
│            │                    │ │ │                             │                             │dtmf_sequence_as_flash = false   │
│240463      │clip                │5│T│                             │                             │                                 │
│240463      │cnip                │3│T│owner = any                  │                             │                                 │
│240463      │conference          │9│T│conflict_list = ['3way']     │                             │destroy_mode = by_no_master      │
│            │                    │ │ │dependency_list = [chold,ctr]│                             │max_participants = 16            │
│            │                    │ │ │enumDestroy_mode = "by_no_mas│                             │                                 │
│            │                    │ │ │ter|by_no_more_calls"        │                             │                                 │
│240463      │ctr                 │5│T│dependency_list = [chold]    │dtmf_detector = true         │                                 │
│240463      │intervention        │3│T│                             │dtmf_detector = true         │                                 │
│240463      │mcid                │2│T│                             │                             │                                 │
│240463      │ml                  │3│T│                             │                             │line_count = 3                   │
│            │                    │ │ │                             │                             │line_count_out = -1              │
│240463      │park                │2│T│                             │                             │                                 │
└────────────┴────────────────────┴─┴─┴─────────────────────────────┴─────────────────────────────┴─────────────────────────────────┘
Legend:
  V - version of the supplementary service;
  E - enable state of selected supplementary service to current domain, address

[exec at: 13.02.2019 14:45:10, exec time: 251ms, nodes: ds1@ecss2]

Просмотреть информацию о всех услугах, активированных для абонента "240465" на виртуальной АТС " biysk.local".

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/info biysk.local 240465              
Domain: biysk.local

Supplementary services' settings:
┌───────────────────────┬───────────────────────────────────────┬─┬─┬──────────────────────────────────────────────────────────────┐
│        Address        │                 Name                  │V│E│                             CSD                              │
├───────────────────────┼───────────────────────────────────────┼─┼─┼──────────────────────────────────────────────────────────────┤
│240465                 │cc_agent                               │2│T│                                                              │
│240465                 │cf_sip                                 │7│T│                                                              │
│240465                 │cgg                                    │5│T│numbers = 240462, 240469                                      │
│240465                 │chold                                  │8│T│disable_moh = false                                           │
│                       │                                       │ │ │dtmf_sequence_as_flash = false                                │
│240465                 │clip                                   │5│T│                                                              │
│240465                 │cnip                                   │3│T│                                                              │
│240465                 │conference                             │9│T│destroy_mode = by_no_master                                   │
│                       │                                       │ │ │max_participants = 16                                         │
│240465                 │ctr                                    │5│T│                                                              │
│240465                 │intervention                           │3│T│                                                              │
│240465                 │mcid                                   │2│T│                                                              │
│240465                 │ml                                     │3│T│line_count = 3                                                │
│                       │                                       │ │ │line_count_out = -1                                           │
│240465                 │park                                   │2│T│                                                              │
└───────────────────────┴───────────────────────────────────────┴─┴─┴──────────────────────────────────────────────────────────────┘
Legend:
  V - version of the supplementary service;
  E - enable state of selected supplementary service to current domain, address

[exec at: 13.02.2019 14:47:06, exec time: 175ms, nodes: ds1@ecss1]
 install

Команда установки описания новой услуги с определенным именем и видом в систему. Команда берет описание услуги из XML-файла, имя которого передается команде в качестве параметра, и сохраняет его в системе. После того, как данная команда выполнена, администратор ECSS-10/виртуальной АТС может активировать данную услугу.

Все файлы-описания услуг должны располагаться в папке /var/lib/ecss/ss/ на вычислительном ресурсе, где запущена система DS.

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

/cluster/storage/<CLUSTER>/ss/install

Синтаксис:

install <NODE> <SSTemplate>

Параметры:

<NODE> — имя подсистемы DS;<SSTemplate> — имя XML файла-описания услуги. В качестве файла-описания услуги может использоваться маска поиска. В этом случае все файлы, имена которых удовлетворяют этой маске, будут установлены в систему. В маске поиска используются символы:

  • * — любое количество символов,
  • ? — ровно один символ.

Пример:

Установить новую услугу:

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/install ds1@ecss1 ss_fax_receiver.xml
Successfully installed: /var/lib/ecss/ss/ss_fax_receiver.xml

[exec at: 13.02.2019 15:17:49, exec time: 271ms, nodes: ds1@ecss1]

Установить услуги название которых начинается с  символов "cf":

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/install ds1@ecss1 ss_cf??.xml  
Already installed: /var/lib/ecss/ss/ss_cfos.xml
Already installed: /var/lib/ecss/ss/ss_cfnr.xml
[exec at: 20.02.2019 09:36:54, exec time: 384ms, nodes: ds1@ecss1]
 profile

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

  • profile copy — командой создается копия существующего профиля услуг с новым именем;
  • profile copy-to-domain — создание доменного профиля на основе системного в  созданном домене;
  • profile  declare — командой создается новый набор услуг;
  • profile info — команда для просмотра информации о настройках пакета услуг;
  • profile remove — команда для  удаления пакета услуг;
  • profile ss-add — команда для добавления услуги в профиль и её настройки;
  • profile ss-change — команда добавления новой услуги из профиля дополнительных услуг;
  • profile ss-remove — команда для удаления ранее добавленных услуг из пакета ;

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

cluster/storage/<CLUSTER>/ss/profile 

Синтаксис:

copy <SrcProfileName> <DstProfileName>

copy-to-domain <SystemProfileName> <Domain> [<DomainProfileName>]

declare <ProfileName> [<Description>]

info [<ProfileName>]

remove <ProfileName>

ss-add <ProfileName> <SSName> <Enable> [<Activate> [<ActivationArgs>]]

ss-change <ProfileName> <SSName> <Action> [[<ActivationArgs>]

ss-remove <ProfileName> <SSName>

Параметры:

<SrcProfileName> — название профиля дополнительных услуг;

<DstProfileName> — новое имя для копируемого профиля услуг;

<SystemProfileName> — название системного профиля дополнительных услуг;

<DOMAIN> — имя виртуальной АТС (домен), которой принадлежит абонент;
<SSName> — новый вид (виды) услуг. Для перечисления видов услуг используется ",". Для указания всех услуг используется "*";

<DomainProfileName> — название доменного профиля дополнительных услуг;

<ProfileName> — название профиля дополнительных услуг;

<Description> — описание услуги, опциональный параметр;

<Action> — при указании команды услуга будет автоматически активирована с заданными настройками при добавлении пакета услуг абонентам принимает значения:enable, disable, activate, deactivate;

Примеры:

 show

Команда просмотра настроек услуги, установленных в систему.
Команда позволяет выбрать интересующие поля (все поля) и вывести значение этих полей в табличном представлении.

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

cluster/storage/<CLUSTER>/ss/show

Синтаксис:

show [<SSNames> | *]

Параметры:

<SSName> — поле для просмотра:

  • csd — настройки услуги, которые может менять абонент при активации;
  • description — описание услуги;
  • name — имя услуги;
  • ssd — настройки услуги, которые нельзя менять при активации. Они нужны для работы сервиса, но не требуют изменения со стороны пользователя;
  • msd — метаинформация об услуге, которая необходима только для работы команд управления услугой;
  • version — версия реализации услуги.

Для перечисления нескольких параметров используется ",". Для указания всех параметров используется "*".

Пример:

Список установленных услуг:

 Нажмите здесь для раскрытия...
admin@mycelium1@ecss1:/$ cluster/storage/ds1/ss/show name, version, description
┌────────────────────────────────────┬──────┬─────────────────────────────────────────────┐
│                name                │versio│                 description                 │
│                                    │  n   │                                             │
├────────────────────────────────────┼──────┼─────────────────────────────────────────────┤
│3way                                │6     │3-Way Conference                             │
│acb                                 │2     │Anonymous Call Blocking                      │
│alarm                               │8     │Alarm Call                                   │
│assistant                           │2     │Chief-assistant group                        │
│auto_redial                         │2     │Auto redial                                  │
│auto_redial_with_callback           │5     │Auto redial with callback                    │
│avatar                              │1     │Picture for outgoing calls                   │
│blf                                 │2     │Busy Lamp Field                              │
│call_recording                      │10    │Call recording                               │
│callback                            │5     │CallBack                                     │
│cc_agent                            │2     │Contact-Center agent                         │
│cf_aon                              │7     │Call Forwarding AON                          │
│cf_sip                              │9     │Call Forwarding by SIP redirection (302 messa│
│                                    │      │ge)                                          │
│cfb                                 │11    │Call Forwarding Busy                         │
│cfnr                                │11    │Call Forwarding No Reply                     │
│cfnr_type2                          │11    │Call Forwarding No Reply without notification│
│cfos                                │12    │Call Forwarding Out of Service               │
│cft                                 │12    │Call Forwarding Unconditional Time Dependent │
│cfu                                 │12    │Call Forwarding Unconditional                │
│cfu_type2                           │12    │Call Forwarding Unconditional without notific│
│                                    │      │ation                                        │
│cgg                                 │5     │Group-calling                                │
│chold                               │8     │Call hold                                    │
│chunt                               │6     │Call hunt groups                             │
│click_to_call                       │5     │Click to call                                │
│clip                                │5     │Calling Line Identification Presentation     │
│clir                                │3     │Calling Line Identification Restriction      │
│cliro                               │2     │Calling Line Identification Restriction Overr│
│                                    │      │ide                                          │
│cnip                                │3     │Calling Name Identification Presentation     │
│conference                          │9     │Conference Call, Add-on                      │
│cpip                                │1     │Calling Picture Identification Presentation  │
│ctr                                 │5     │Call Transfer                                │
│cw                                  │5     │Call Waiting                                 │
│direct_call                         │2     │Direct call                                  │
│distinctive_picture                 │1     │Display caller image by groups               │
│distinctive_ring                    │1     │Destination ringtone change                  │
│dnd                                 │3     │Do not Disturb                               │
│fax_receiver                        │2     │Enable fax receiving ability for terminals wh│
│                                    │      │ich is not support fax by their own          │
│fax_to_email                        │2     │Fax to email                                 │
│fbc                                 │1     │Forwarding Barring Call                      │
│find_me                             │6     │Find Me                                      │
│find_me_no_response                 │6     │Find Me no response                          │
│flexicall                           │1     │FlexiCall                                    │
│follow_me                           │10    │Follow me                                    │
│follow_me_no_response               │8     │Follow me no response                        │
│intervention                        │4     │Intervention                                 │
│mcid                                │2     │Malicious Call Identification                │
│meet_me_conference                  │1     │Meet Me Conference                           │
│message                             │2     │Message service                              │
│ml                                  │3     │Multiline                                    │
│my_number                           │2     │Get number of my phone                       │
│park                                │2     │Call park                                    │
│personal_ivr                        │2     │Personal IVR script                          │
│pickup                              │2     │Call Pickup                                  │
│presence                            │2     │SIP Presence                                 │
│qsig_cfb                            │2     │QSIG: Call Forwarding Busy                   │
│qsig_cfnr                           │2     │QSIG: Call Forwarding No Reply               │
│qsig_cfu                            │2     │QSIG: Call Forwarding Unconditional          │
│rbp                                 │3     │SS for restricting call-processes by NI and P│
│                                    │      │IN                                           │
│redial                              │2     │Last number redial                           │
│remote_phone                        │1     │Remote phone                                 │
│rfc                                 │2     │Rejection of Forwarded Calls                 │
│ring_back_tone                      │2     │Ring back tone                               │
│sca                                 │2     │Selective Call Acceptance                    │
│sco_black                           │2     │Selective Call Originating, Black list       │
│sco_white                           │2     │Selective Call Originating, White list       │
│scr                                 │2     │Selective Call Rejection                     │
│speed_dial                          │5     │Speed dial (Abbreviated dialing)             │
│teleconference                      │3     │Teleconference                               │
│teleconference_manager              │3     │Teleconference manager                       │
│time_service                        │1     │Get current time                             │
│tsmn_request                        │2     │Support request on TSMN                      │
│vip_call                            │2     │Vip call                                     │
│voice_page                          │9     │Voice Page call                              │
│voice_page_control                  │2     │'Voice Page Control' service                 │
│voicemail                           │11    │Voice mail service                           │
│walkie_talkie                       │1     │Walkie Talkie                                │
│zone_page                           │8     │Zone Page call                               │
└────────────────────────────────────┴──────┴─────────────────────────────────────────────┘
Installed supplementary services: 77

[exec at: 25.07.2019 09:20:36, exec time: 13ms, nodes: ds1@ecss1]

Полная информация об установленных услугах:

 Нажмите здесь для раскрытия...
admin@mycelium1@ecss1:/$ cluster/storage/ds1/ss/show *                                   
┌───────────┬─┬──────────────┬───────────────────────────────────────┬───────────────────────────────────────┬───────────────────────────────────────┐
│   name    │v│ description  │                  msd                  │                  ssd                  │                  csd                  │
│           │e│              │                                       │                                       │                                       │
│           │r│              │                                       │                                       │                                       │
│           │s│              │                                       │                                       │                                       │
│           │i│              │                                       │                                       │                                       │
│           │o│              │                                       │                                       │                                       │
│           │n│              │                                       │                                       │                                       │
├───────────┼─┼──────────────┼───────────────────────────────────────┼───────────────────────────────────────┼───────────────────────────────────────┤
│3way       │6│3-Way Conferen│atom[] dependency_list = [chold]; //Lis│boolean dtmf_detector = true; //       │                                       │
│           │ │ce            │t of SS that is depended from SS       │                                       │                                       │
│           │ │              │atom[] conflict_list = [conference]; //│                                       │                                       │
│           │ │              │List of SS that is conflict with curren│                                       │                                       │
│           │ │              │t SS                                   │                                       │                                       │
│acb        │2│Anonymous Call│                                       │                                       │                                       │
│           │ │ Blocking     │                                       │                                       │                                       │
│alarm      │8│Alarm Call    │atom handle_module = ss_alarm_handler; │integer collect_digits_timeout = 60; //│integer no_answer_timeout = 45; //Await│
│           │ │              │//                                     │Wait timeout to collect cancel digits  │ing answer timer (value in seconds)    │
│           │ │              │                                       │                                       │integer call_attempt_count = 3; //The c│
│           │ │              │                                       │                                       │ount of the call's attempt             │
│           │ │              │                                       │                                       │integer call_attempt_timeout = 60; //Aw│
│           │ │              │                                       │                                       │aiting timer between calls' attempts   │
│           │ │              │                                       │                                       │address cancel_digits = "*"; //Digits t│
│           │ │              │                                       │                                       │o cancel alarm                         │
│           │ │              │                                       │                                       │term alarm_1 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_2 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_3 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_4 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_5 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_6 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_7 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_8 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│           │ │              │                                       │                                       │term alarm_9 = off; //"{" "'one-time'" │
│           │ │              │                                       │                                       │| daily, "[" Day1[, Day2][, ...] "]","{│
│           │ │              │                                       │                                       │"HH, MM"}"[, AlarmName]"}"             │
│assistant  │2│Chief-assistan│atom owner = user; //SS type. Available│boolean forwarding_ss = true; //       │index_address[4] assistants = undefined│
│           │ │t group       │ values: user | trunk | any            │                                       │; //Assistants numbers. Format: <addres│
│           │ │              │                                       │                                       │s>[/<index>]                           │
│           │ │              │                                       │                                       │index_address[128] whitelist = undefine│
│           │ │              │                                       │                                       │d; //White list members. Format: <addre│
│           │ │              │                                       │                                       │ss>[/<index>]                          │
│auto_redial│2│Auto redial   │                                       │                                       │positive_integer recall_timeout = 15; /│
│           │ │              │                                       │                                       │/Timeout between recalls (sec)         │
│           │ │              │                                       │                                       │positive_integer recall_count = 6; //Re│
│           │ │              │                                       │                                       │calls' count                           │
│           │ │              │                                       │                                       │positive_integer no_answer_timeout = 30│
│           │ │              │                                       │                                       │; //Awaiting answer timeout (sec)      │
│auto_redial│5│Auto redial wi│string enumRingback = "tone|moh"; //Rin│                                       │positive_integer recall_timer = 90; //T│
│_with_callb│ │th callback   │gback                                  │                                       │ime between recalls (sec)              │
│ack        │ │              │                                       │                                       │positive_integer recall_count = 30; //R│
│           │ │              │                                       │                                       │ecalls' count                          │
│           │ │              │                                       │                                       │positive_integer a_no_answer_timeout = │
│           │ │              │                                       │                                       │10; //Awaiting B-side answer timeout (s│
│           │ │              │                                       │                                       │ec)                                    │
│           │ │              │                                       │                                       │positive_integer b_no_answer_timeout = │
│           │ │              │                                       │                                       │30; //Awaiting A-side answer timeout (s│
│           │ │              │                                       │                                       │ec)                                    │
│           │ │              │                                       │                                       │enum ringback = tone; //Ringback (tone │
│           │ │              │                                       │                                       │| moh)                                 │
│avatar     │1│Picture for ou│                                       │                                       │string pic_addr = []; //URL to access t│
│           │ │tgoing calls  │                                       │                                       │he image                               │
│blf        │2│Busy Lamp Fiel│                                       │                                       │positive_integer max_subscribe = 16; //│
│           │ │d             │                                       │                                       │Maximum number of subscriptions        │
│call_record│1│Call recording│atom owner = any; //SS type. Available │boolean locked = true; //Can subscriber│enum mode = undefined; //The mode of th│
│ing        │0│              │values: user | trunk | any             │ manage current SS, or not             │e recording call (always_on|on_demand) │
│           │ │              │string enumMode = "always_on|on_demand|│boolean dtmf_detector = true; //       │                                       │
│           │ │              │after_answer"; //Internal field to vali│                                       │                                       │
│           │ │              │date mode property                     │                                       │                                       │
│callback   │5│CallBack      │                                       │integer collect_digits_timeout = 60; //│                                       │
│           │ │              │                                       │Wait timeout to collect cancel digits  │                                       │
│           │ │              │                                       │positive_integer a_onhook_timeout = 5; │                                       │
│           │ │              │                                       │//Timeout for A subscriber onhook (sec)│                                       │
│           │ │              │                                       │positive_integer max_call_retry = 5; //│                                       │
│           │ │              │                                       │The maximum count of call's retry to in│                                       │
│           │ │              │                                       │itial subscriber                       │                                       │
│           │ │              │                                       │boolean dtmf_detector = true; //       │                                       │
│cc_agent   │2│Contact-Center│                                       │                                       │                                       │
│           │ │ agent        │                                       │                                       │                                       │
│cf_aon     │7│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │boolean no_reply = false; //Activate se│
│           │ │g AON         │values: user | trunk | any             │                                       │rvice when subscriber no reply         │
│           │ │              │atom[] conflict_list = [cfu,cgg,ctu,ass│                                       │positive_integer timeout = 15; //Timeou│
│           │ │              │istant,follow_me,tsmn_request]; //List │                                       │t before call forward (sec)            │
│           │ │              │of SS that is conflict with current SS │                                       │address number = undefined; //Forward n│
│           │ │              │                                       │                                       │umber                                  │
│           │ │              │                                       │                                       │address[10] prefix_number = undefined; │
│           │ │              │                                       │                                       │//Prefix number A                      │
│cf_sip     │9│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │                                       │
│           │ │g by SIP redir│values: user | trunk | any             │                                       │                                       │
│           │ │ection (302 me│atom[] conflict_list = [cfu,assistant,f│                                       │                                       │
│           │ │ssage)        │ollow_me,tsmn_request]; //List of SS th│                                       │                                       │
│           │ │              │at is conflict with current SS         │                                       │                                       │
│cfb        │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │address number = undefined; //Forward n│
│           │1│g Busy        │values: user | trunk | any             │                                       │umber                                  │
│           │ │              │atom[] conflict_list = [cfu,assistant,f│                                       │address external_number = []; //Externa│
│           │ │              │ollow_me,tsmn_request]; //List of SS th│                                       │l forward number                       │
│           │ │              │at is conflict with current SS         │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│cfnr       │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │address number = undefined; //Forward n│
│           │1│g No Reply    │values: user | trunk | any             │                                       │umber                                  │
│           │ │              │atom[] conflict_list = [cfu,assistant,f│                                       │address external_number = []; //Externa│
│           │ │              │ollow_me,tsmn_request]; //List of SS th│                                       │l forward number                       │
│           │ │              │at is conflict with current SS         │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│           │ │              │                                       │                                       │positive_integer timeout = 15; //Timeou│
│           │ │              │                                       │                                       │t before call forward (sec)            │
│cfnr_type2 │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │address number = undefined; //Forward n│
│           │1│g No Reply wit│values: user | trunk | any             │                                       │umber                                  │
│           │ │hout notificat│atom[] conflict_list = [cfu,assistant,c│                                       │positive_integer timeout = 15; //Timeou│
│           │ │ion           │fnr,follow_me,tsmn_request]; //List of │                                       │t before call forward (sec)            │
│           │ │              │SS that is conflict with current SS    │                                       │boolean use_redirection_counter = false│
│           │ │              │                                       │                                       │; //Use redirectionCounter field to  co│
│           │ │              │                                       │                                       │unt hops                               │
│           │ │              │                                       │                                       │address external_number = []; //Externa│
│           │ │              │                                       │                                       │l forward number                       │
│           │ │              │                                       │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│cfos       │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │address number = undefined; //Forward n│
│           │2│g Out of Servi│values: user | trunk | any             │                                       │umber                                  │
│           │ │ce            │atom[] conflict_list = [cfu,assistant,f│                                       │address external_number = []; //Externa│
│           │ │              │ollow_me,tsmn_request]; //List of SS th│                                       │l forward number                       │
│           │ │              │at is conflict with current SS         │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│cft        │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │term day_1 = off; //{[{{FromHour,FromMi│
│           │2│g Unconditiona│values: user | trunk | any             │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │l Time Depende│string enumTime_format = "local|utc"; /│                                       │, ExternalNumber}                      │
│           │ │nt            │/Internal field to validate time_format│                                       │term day_2 = off; //{[{{FromHour,FromMi│
│           │ │              │ property                              │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │              │atom[] conflict_list = [cgg,cfu,assista│                                       │, ExternalNumber}                      │
│           │ │              │nt,follow_me,tsmn_request]; //List of S│                                       │term day_3 = off; //{[{{FromHour,FromMi│
│           │ │              │S that is conflict with current SS     │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │              │                                       │                                       │, ExternalNumber}                      │
│           │ │              │                                       │                                       │term day_4 = off; //{[{{FromHour,FromMi│
│           │ │              │                                       │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │              │                                       │                                       │, ExternalNumber}                      │
│           │ │              │                                       │                                       │term day_5 = off; //{[{{FromHour,FromMi│
│           │ │              │                                       │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │              │                                       │                                       │, ExternalNumber}                      │
│           │ │              │                                       │                                       │term day_6 = off; //{[{{FromHour,FromMi│
│           │ │              │                                       │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │              │                                       │                                       │, ExternalNumber}                      │
│           │ │              │                                       │                                       │term day_7 = off; //{[{{FromHour,FromMi│
│           │ │              │                                       │                                       │nute}, {ToHour,ToMinute}}, ...], Number│
│           │ │              │                                       │                                       │, ExternalNumber}                      │
│           │ │              │                                       │                                       │enum time_format = local; //CFT for Sun│
│           │ │              │                                       │                                       │day (local | utc)                      │
│cfu        │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │address number = undefined; //Forward n│
│           │2│g Unconditiona│values: user | trunk | any             │                                       │umber                                  │
│           │ │l             │atom[] conflict_list = [ctu,cgg,assista│                                       │address external_number = []; //Externa│
│           │ │              │nt,follow_me,tsmn_request]; //List of S│                                       │l forward number                       │
│           │ │              │S that is conflict with current SS     │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│cfu_type2  │1│Call Forwardin│atom owner = any; //SS type. Available │boolean forwarding_ss = true; //       │address number = undefined; //Forward n│
│           │2│g Unconditiona│values: user | trunk | any             │                                       │umber                                  │
│           │ │l without noti│atom[] conflict_list = [cfu,cgg,assista│                                       │boolean use_redirection_counter = false│
│           │ │fication      │nt,follow_me,tsmn_request]; //List of S│                                       │; //Use redirectionCounter field to  co│
│           │ │              │S that is conflict with current SS     │                                       │unt hops                               │
│           │ │              │                                       │                                       │address external_number = []; //Externa│
│           │ │              │                                       │                                       │l forward number                       │
│           │ │              │                                       │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│cgg        │5│Group-calling │                                       │boolean forwarding_ss = true; //       │address[10] numbers = undefined; //Grou│
│           │ │              │                                       │                                       │p's numbers                            │
│chold      │8│Call hold     │                                       │boolean dtmf_detector = true; //       │boolean dtmf_sequence_as_flash = false;│
│           │ │              │                                       │                                       │ //Try interpret the DTMF sequence as a│
│           │ │              │                                       │                                       │ flash (look at incall feature codes)  │
│           │ │              │                                       │                                       │boolean disable_moh = false; //Disable │
│           │ │              │                                       │                                       │music on hold                          │
│chunt      │6│Call hunt grou│string regimeMode = "group:numbers:queu│integer delay_retrieve_timeout_1 = 1000│regime mode = undefined; //The type of │
│           │ │ps            │e_strategy|serial:numbers:cyclic:search│; //Delay retrieve timeout for release │the chunt                              │
│           │ │              │_strategy:window_shift_timeout:max_shif│group call by group subscriber         │boolean cyclic = false; //Flag that is │
│           │ │              │t_count:queue_strategy|longest_idle:num│integer delay_retrieve_timeout_2 = 5000│show is call hunt group cyclic or not  │
│           │ │              │bers:cyclic:window_shift_timeout:max_sh│; //Delay retrieve timeout for release │boolean reset_window_start_pos_after_ca│
│           │ │              │ift_count:queue_strategy|delay_group:nu│group call by slave subscriber         │ll = false; //Reset window start positi│
│           │ │              │mbers:window_shift_timeout:queue_strate│integer delay_retrieve_timeout_3 = 1500│on after all incoming calls will be con│
│           │ │              │gy|manual"; //Internal field to validat│0; //Delay retrieve timeout for waiting│nected with group calls                │
│           │ │              │e search_strategy property             │ free group subscriber                 │positive_integer window_shift_timeout =│
│           │ │              │string enumSearch_strategy = "first|las│boolean forwarding_ss = true; //       │ 0; //Interval after which window shift│
│           │ │              │t|random|longest_idle"; //Internal fiel│                                       │ on the window_shift value             │
│           │ │              │d to validate search_strategy property │                                       │integer max_shift_count = -1; //The num│
│           │ │              │string enumQueue_strategy = "wait|drop"│                                       │ber of times that a window can be shift│
│           │ │              │; //Internal field to validate queue_st│                                       │positive_integer window_size = 1; //The│
│           │ │              │rategy property                        │                                       │ number of simultaneous calls to the ca│
│           │ │              │                                       │                                       │ll-hunt's subscribers                  │
│           │ │              │                                       │                                       │integer window_start_pos = 0; //The ind│
│           │ │              │                                       │                                       │ex (zero-based) of the first subscriber│
│           │ │              │                                       │                                       │ in the window                         │
│           │ │              │                                       │                                       │positive_integer window_shift = 1; //Th│
│           │ │              │                                       │                                       │e value on which shift window_start_pos│
│           │ │              │                                       │                                       │ when window_shift_timeout fired       │
│           │ │              │                                       │                                       │enum queue_strategy = wait; //(wait | d│
│           │ │              │                                       │                                       │rop)                                   │
│           │ │              │                                       │                                       │enum search_strategy = first; //(first │
│           │ │              │                                       │                                       │| last | random | longest_idle)        │
│           │ │              │                                       │                                       │positive_integer queue_size = 0; //Wait│
│           │ │              │                                       │                                       │ calls' queue size                     │
│           │ │              │                                       │                                       │address[10] numbers = undefined; //Call│
│           │ │              │                                       │                                       │-hunt member list                      │
│click_to_ca│5│Click to call │                                       │                                       │address number = undefined; //User's nu│
│ll         │ │              │                                       │                                       │mber                                   │
│           │ │              │                                       │                                       │boolean auto_answer = true; //Auto answ│
│           │ │              │                                       │                                       │er                                     │
│           │ │              │                                       │                                       │string[10] hashes = undefined; //User's│
│           │ │              │                                       │                                       │ hashes                                │
│clip       │5│Calling Line I│                                       │                                       │                                       │
│           │ │dentification │                                       │                                       │                                       │
│           │ │Presentation  │                                       │                                       │                                       │
│clir       │3│Calling Line I│string enumMode = "user_defined|restric│                                       │enum mode = restrict_all; //The mode of│
│           │ │dentification │t_all"; //Internal field to validate mo│                                       │ the working clir service (user_defined│
│           │ │Restriction   │de property                            │                                       │|restrict_all)                         │
│cliro      │2│Calling Line I│                                       │                                       │                                       │
│           │ │dentification │                                       │                                       │                                       │
│           │ │Restriction Ov│                                       │                                       │                                       │
│           │ │erride        │                                       │                                       │                                       │
│cnip       │3│Calling Name I│atom owner = any; //SS type. Available │                                       │                                       │
│           │ │dentification │values: user | trunk | any             │                                       │                                       │
│           │ │Presentation  │                                       │                                       │                                       │
│conference │9│Conference Cal│string enumDestroy_mode = "by_no_master│                                       │enum destroy_mode = by_no_master; //The│
│           │ │l, Add-on     │|by_no_more_calls"; //Internal field to│                                       │ mode of destroying conference (by_no_m│
│           │ │              │ validate mode property                │                                       │aster|by_no_more_calls)                │
│           │ │              │atom[] dependency_list = [chold,ctr]; /│                                       │positive_integer max_participants = 16;│
│           │ │              │/List of SS that is depended from SS   │                                       │ //The maximum number of participants i│
│           │ │              │atom[] conflict_list = ['3way']; //List│                                       │n the conference, limited to the number│
│           │ │              │ of SS that is conflict with current SS│                                       │ 64 at the top. By default 16          │
│cpip       │1│Calling Pictur│                                       │                                       │string display_mode = "icon"; //Sets th│
│           │ │e Identificati│                                       │                                       │e picture display mode: icon mode or fu│
│           │ │on Presentatio│                                       │                                       │llscreen mode. Available values: icon |│
│           │ │n             │                                       │                                       │ fullscreen                            │
│ctr        │5│Call Transfer │atom[] dependency_list = [chold]; //Lis│boolean dtmf_detector = true; //       │                                       │
│           │ │              │t of SS that is depended from SS       │                                       │                                       │
│cw         │5│Call Waiting  │atom[] dependency_list = [chold]; //Lis│boolean dtmf_detector = true; //       │                                       │
│           │ │              │t of SS that is depended from SS       │                                       │                                       │
│direct_call│2│Direct call   │                                       │                                       │address number = undefined; //Call numb│
│           │ │              │                                       │                                       │er to direct call                      │
│           │ │              │                                       │                                       │positive_integer timeout = 5; //Timeout│
│           │ │              │                                       │                                       │ before direct call (sec)              │
│distinctive│1│Display caller│                                       │                                       │distinctive_picture[20] groups = undefi│
│_picture   │ │ image by grou│                                       │                                       │ned; //Distinctive picture for specific│
│           │ │ps            │                                       │                                       │ numbers                               │
│distinctive│1│Destination ri│                                       │                                       │distinctive_ring[16] filters = undefine│
│_ring      │ │ngtone change │                                       │                                       │d; //Distinctive ring for specific numb│
│           │ │              │                                       │                                       │ers                                    │
│dnd        │3│Do not Disturb│                                       │                                       │index_address[10] whitelist = undefined│
│           │ │              │                                       │                                       │; //White list members. Format: <addres│
│           │ │              │                                       │                                       │s>[/<index>]                           │
│fax_receive│2│Enable fax rec│                                       │                                       │                                       │
│r          │ │eiving ability│                                       │                                       │                                       │
│           │ │ for terminals│                                       │                                       │                                       │
│           │ │ which is not │                                       │                                       │                                       │
│           │ │support fax by│                                       │                                       │                                       │
│           │ │ their own    │                                       │                                       │                                       │
│fax_to_emai│2│Fax to email  │                                       │                                       │string email = []; //Email address     │
│l          │ │              │                                       │                                       │boolean send_error_report = false; //Se│
│           │ │              │                                       │                                       │nd email in case of fax received failed│
│fbc        │1│Forwarding Bar│atom owner = any; //SS type. Available │                                       │                                       │
│           │ │ring Call     │values: user | trunk | any             │                                       │                                       │
│find_me    │6│Find Me       │atom[] conflict_list = [cfu,assistant,c│boolean forwarding_ss = true; //       │boolean send_call_diversion = true; //S│
│           │ │              │tu,cgg,follow_me,follow_me_no_response]│                                       │end call diversion flag in call signali│
│           │ │              │; //List of SS that is conflict with cu│                                       │sation                                 │
│           │ │              │rrent SS                               │                                       │find_me_group[32] groups = []; //Find m│
│           │ │              │                                       │                                       │e groups                               │
│find_me_no_│6│Find Me no res│atom[] conflict_list = [cfu,assistant,c│boolean forwarding_ss = false; //      │boolean send_call_diversion = true; //S│
│response   │ │ponse         │tu,cgg,follow_me,follow_me_no_response,│                                       │end call diversion flag in call signali│
│           │ │              │                        find_me]; //Lis│                                       │sation                                 │
│           │ │              │t of SS that is conflict with current S│                                       │positive_integer timeout = 20; //Timeou│
│           │ │              │S                                      │                                       │t before call forward (sec)            │
│           │ │              │                                       │                                       │find_me_group[32] groups = []; //Find m│
│           │ │              │                                       │                                       │e groups                               │
│flexicall  │1│FlexiCall     │atom owner = user; //SS type. Available│boolean forwarding_ss = true; //       │enum mode = undefined; //Mode operating│
│           │ │              │ values: user | trunk | any.           │                                       │. Available values (all | external | in│
│           │ │              │string enumMode = "all|external|interna│                                       │ternal)                                │
│           │ │              │l"; //Internal field to validate mode p│                                       │address[10] external_numbers = []; //Gr│
│           │ │              │roperty                                │                                       │oup's external numbers                 │
│           │ │              │atom[] conflict_list = [cgg]; //List of│                                       │address[10] internal_numbers = []; //Gr│
│           │ │              │ SS that is conflict with current SS   │                                       │oup's internal numbers                 │
│follow_me  │1│Follow me     │atom[] conflict_list = [cfu,assistant,c│boolean forwarding_ss = true; //       │address number = []; //Followed number │
│           │0│              │ft,cgg]; //List of SS that is conflict │                                       │address pin = []; //PIN-code           │
│           │ │              │with current SS                        │                                       │address external_number = []; //Externa│
│           │ │              │                                       │                                       │l forward number                       │
│           │ │              │                                       │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│follow_me_n│8│Follow me no r│atom[] conflict_list = [cfu,assistant,c│boolean forwarding_ss = true; //       │address number = []; //Followed number │
│o_response │ │esponse       │ft,cgg,follow_me]; //List of SS that is│                                       │positive_integer timeout = 20; //Timeou│
│           │ │              │ conflict with current SS              │                                       │t before call forward (sec)            │
│           │ │              │                                       │                                       │address pin = []; //PIN-code           │
│           │ │              │                                       │                                       │address external_number = []; //Externa│
│           │ │              │                                       │                                       │l forward number                       │
│           │ │              │                                       │                                       │boolean use_external_number = false; //│
│           │ │              │                                       │                                       │Use external forward number            │
│interventio│4│Intervention  │string enumRestriction = "full_control|│boolean dtmf_detector = true; //       │enum restriction = full_control; //The │
│n          │ │              │implicitly_allowed|explicitly_allowed";│                                       │restriction to the intervention call (f│
│           │ │              │ //Internal field to validate mode prop│                                       │ull_control|allowed_only)              │
│           │ │              │erty                                   │                                       │                                       │
│mcid       │2│Malicious Call│                                       │                                       │                                       │
│           │ │ Identificatio│                                       │                                       │                                       │
│           │ │n             │                                       │                                       │                                       │
│meet_me_con│1│Meet Me Confer│string regimeMode = "master:destroy_mod│                                       │regime mode = undefined; //The mode of │
│ference    │ │ence          │e:room_number|member:room_number"; //In│                                       │meet me conference (master|member)     │
│           │ │              │ternal field to validate mode property │                                       │enum destroy_mode = by_no_more_calls; /│
│           │ │              │string enumDestroy_mode = "by_no_master│                                       │/The mode of destroying conference (by_│
│           │ │              │|by_no_more_calls"; //Internal field to│                                       │no_master|by_no_more_calls)            │
│           │ │              │ validate mode property                │                                       │address room_number = []; //Room number│
│message    │2│Message servic│atom owner = any; //SS type. Available │integer message_box_size = 20; //Messag│                                       │
│           │ │e             │values: user | trunk | any             │e box size                             │                                       │
│           │ │              │                                       │boolean remove_only_after_answer = fals│                                       │
│           │ │              │                                       │e; //Remove message only after abonent │                                       │
│           │ │              │                                       │answer                                 │                                       │
│ml         │3│Multiline     │                                       │                                       │positive_integer line_count = 3; //Line│
│           │ │              │                                       │                                       │ count                                 │
│           │ │              │                                       │                                       │integer line_count_out = -1; //Outgoing│
│           │ │              │                                       │                                       │ lines count                           │
│my_number  │2│Get number of │                                       │                                       │                                       │
│           │ │my phone      │                                       │                                       │                                       │
│park       │2│Call park     │                                       │                                       │                                       │
│personal_iv│2│Personal IVR s│atom handle_module = ss_personal_ivr_ha│                                       │ivr_script_id script = <<>>; //Script I│
│r          │ │cript         │ndler; //                              │                                       │D                                      │
│           │ │              │atom owner = user; //SS type. Available│                                       │                                       │
│           │ │              │ values: user | trunk | any            │                                       │                                       │
│pickup     │2│Call Pickup   │                                       │                                       │index_string[10] pickup_groups = undefi│
│           │ │              │                                       │                                       │ned; //Call pick-up's groups names. For│
│           │ │              │                                       │                                       │mat: <Name>[/<Inx>]                    │
│presence   │2│SIP Presence  │                                       │                                       │positive_integer max_subscribe = 16; //│
│           │ │              │                                       │                                       │Maximum number of subscriptions        │
│qsig_cfb   │2│QSIG: Call For│atom owner = trunk; //SS type. Availabl│                                       │                                       │
│           │ │warding Busy  │e values: user | trunk | any           │                                       │                                       │
│           │ │              │atom[] conflict_list = [cfu]; //List of│                                       │                                       │
│           │ │              │ SS that is conflict with current SS   │                                       │                                       │
│qsig_cfnr  │2│QSIG: Call For│atom owner = trunk; //SS type. Availabl│                                       │                                       │
│           │ │warding No Rep│e values: user | trunk | any           │                                       │                                       │
│           │ │ly            │atom[] conflict_list = [cfu]; //List of│                                       │                                       │
│           │ │              │ SS that is conflict with current SS   │                                       │                                       │
│qsig_cfu   │2│QSIG: Call For│atom owner = trunk; //SS type. Availabl│                                       │                                       │
│           │ │warding Uncond│e values: user | trunk | any           │                                       │                                       │
│           │ │itional       │atom[] conflict_list = [cfu,follow_me];│                                       │                                       │
│           │ │              │ //List of SS that is conflict with cur│                                       │                                       │
│           │ │              │rent SS                                │                                       │                                       │
│rbp        │3│SS for restric│                                       │                                       │boolean implicit_call = false; //Use im│
│           │ │ting call-proc│                                       │                                       │plicit RBP call (Request PIN-code in ca│
│           │ │esses by NI an│                                       │                                       │se of use recsricted call)             │
│           │ │d PIN         │                                       │                                       │ni[6] restricted_ni = undefined; //Rest│
│           │ │              │                                       │                                       │ricted number indication               │
│redial     │2│Last number re│                                       │                                       │                                       │
│           │ │dial          │                                       │                                       │                                       │
│remote_phon│1│Remote phone  │atom handle_module = ss_remote_phone_ha│                                       │interface remote_endpoint = <<>>; //Rem│
│e          │ │              │ndler; //                              │                                       │ote interface                          │
│           │ │              │                                       │                                       │address pin = undefined; //PIN-code    │
│rfc        │2│Rejection of F│                                       │                                       │                                       │
│           │ │orwarded Calls│                                       │                                       │                                       │
│ring_back_t│2│Ring back tone│                                       │                                       │media_resource file = undefined; //File│
│one        │ │              │                                       │                                       │ to play on ring                       │
│sca        │2│Selective Call│                                       │                                       │index_address[50] whitelist = undefined│
│           │ │ Acceptance   │                                       │                                       │; //White list members. Format: <addres│
│           │ │              │                                       │                                       │s>[/<index>]                           │
│sco_black  │2│Selective Call│                                       │                                       │index_address[50] blacklist = undefined│
│           │ │ Originating, │                                       │                                       │; //Black list members. Format: <addres│
│           │ │Black list    │                                       │                                       │s>[/<index>]                           │
│sco_white  │2│Selective Call│                                       │                                       │index_address[50] whitelist = undefined│
│           │ │ Originating, │                                       │                                       │; //White list members. Format: <addres│
│           │ │White list    │                                       │                                       │s>[/<index>]                           │
│scr        │2│Selective Call│                                       │                                       │index_address[50] blacklist = undefined│
│           │ │ Rejection    │                                       │                                       │; //Black list members. Format: <addres│
│           │ │              │                                       │                                       │s>[/<index>]                           │
│speed_dial │5│Speed dial (Ab│string enumType = "address_book_10|addr│                                       │enum type = address_book_100; //(addres│
│           │ │breviated dial│ess_book_100"; //The type of address bo│                                       │s_book_10 | address_book_100)          │
│           │ │ing)          │ok. address_book_10 supports 10 number │                                       │speed_dial_item[50] map = []; //Map bet│
│           │ │              │in the address book. address_book_100 s│                                       │ween short dial and full address. Forma│
│           │ │              │upports 100 numbers on the address book│                                       │t: <short_dial>/<address>              │
│teleconfere│3│Teleconference│                                       │                                       │boolean destroy_by_no_initiator = true;│
│nce        │ │              │                                       │                                       │ //Destroy the teleconference by releas│
│           │ │              │                                       │                                       │e from the initiator?                  │
│           │ │              │                                       │                                       │teleconference_room template_from_room │
│           │ │              │                                       │                                       │= <<>>; //Get template from the telecon│
│           │ │              │                                       │                                       │ference room                           │
│teleconfere│3│Teleconference│                                       │                                       │address[10] second_line = []; //Second │
│nce_manager│ │ manager      │                                       │                                       │line numbers                           │
│time_servic│1│Get current ti│                                       │                                       │                                       │
│e          │ │me            │                                       │                                       │                                       │
│tsmn_reques│2│Support reques│atom owner = trunk; //SS type. Availabl│                                       │positive_integer timeout = 3000; //Time│
│t          │ │t on TSMN     │e values: user | trunk | any           │                                       │out on TSMN request(s) (msec)          │
│           │ │              │atom[] conflict_list = [cfu]; //List of│                                       │trunk tsmn_trunk = undefined; //Trunk t│
│           │ │              │ SS that is conflict with current SS   │                                       │o TSMN server                          │
│           │ │              │                                       │                                       │trunk tsmn_trunk_backup = <<>>; //Backu│
│           │ │              │                                       │                                       │p trunk to TSMN server                 │
│vip_call   │2│Vip call      │string enumPriority = "0_flash_override│                                       │enum priority = '4_routine'; //(0_flash│
│           │ │              │|1_flash|2_immediate|3_priority|4_routi│                                       │_override | 1_flash | 2_immediate | 3_p│
│           │ │              │ne"; //Call's priority                 │                                       │riority | 4_routine)                   │
│voice_page │9│Voice Page cal│string enumPriority = "0_flash_override│boolean dtmf_detector = true; //       │boolean skip_cf = true; //Skipping call│
│           │ │l             │|1_flash|2_immediate|3_priority|4_routi│                                       │ forwarding                            │
│           │ │              │ne"; //Call's priority                 │                                       │enum priority = '3_priority'; //(0_flas│
│           │ │              │                                       │                                       │h_override | 1_flash | 2_immediate | 3_│
│           │ │              │                                       │                                       │priority | 4_routine)                  │
│           │ │              │                                       │                                       │integer announcement_repeat_time = 10; │
│           │ │              │                                       │                                       │//Announcement files repeat timeout    │
│           │ │              │                                       │                                       │integer announcement_playback_cnt = 0; │
│           │ │              │                                       │                                       │//Announcement files playback count [0.│
│           │ │              │                                       │                                       │.5]                                    │
│           │ │              │                                       │                                       │address swap_digit = "*"; //Digit to sw│
│           │ │              │                                       │                                       │ap reception / transmission mode       │
│           │ │              │                                       │                                       │address announcement_repeat_digit = "#"│
│           │ │              │                                       │                                       │; //Digit to repeat announcement files │
│           │ │              │                                       │                                       │media_resource[10] intro_files = []; //│
│           │ │              │                                       │                                       │List of Intro media_files              │
│           │ │              │                                       │                                       │media_resource[10] announcement_files =│
│           │ │              │                                       │                                       │ []; //List of Announcement media_files│
│voice_page_│2│'Voice Page Co│                                       │                                       │boolean accept_incoming_vp = true; //Ac│
│control    │ │ntrol' service│                                       │                                       │cept or Reject voice page calls        │
│           │ │              │                                       │                                       │boolean block_incoming_vp_by_dnd = true│
│           │ │              │                                       │                                       │; //Block voice page calls by DND servi│
│           │ │              │                                       │                                       │ce                                     │
│           │ │              │                                       │                                       │boolean mute_incoming_vp = true; //Acce│
│           │ │              │                                       │                                       │pt incoming voice page call in silent m│
│           │ │              │                                       │                                       │ode                                    │
│voicemail  │1│Voice mail ser│atom[] conflict_list = [cfu,assistant,f│boolean dtmf_detector = true; //       │boolean no_reply = true; //Activate ser│
│           │1│vice          │ollow_me,find_me,cfu_type2]; //List of │                                       │vice when subscriber no reply          │
│           │ │              │SS that is conflict with current SS    │                                       │boolean busy = false; //Activate servic│
│           │ │              │                                       │                                       │e when subscriber is busy              │
│           │ │              │                                       │                                       │boolean out_of_service = true; //Activa│
│           │ │              │                                       │                                       │te service when subscriber is out of se│
│           │ │              │                                       │                                       │rvice                                  │
│           │ │              │                                       │                                       │boolean unconditional = false; //Activa│
│           │ │              │                                       │                                       │te service any time                    │
│           │ │              │                                       │                                       │positive_integer timeout = 30; //Timeou│
│           │ │              │                                       │                                       │t before call forward (sec)            │
│           │ │              │                                       │                                       │boolean send_by_email = false; //Send r│
│           │ │              │                                       │                                       │ecorded message by email               │
│           │ │              │                                       │                                       │positive_integer min_message_duration =│
│           │ │              │                                       │                                       │ 0; //The minimum voice mail duration (│
│           │ │              │                                       │                                       │sec). In case of voice mail duration wi│
│           │ │              │                                       │                                       │ll be less that min_message_duration, t│
│           │ │              │                                       │                                       │his message will be dropped            │
│           │ │              │                                       │                                       │positive_integer max_message_duration =│
│           │ │              │                                       │                                       │ 300; //The maximum voice mail duration│
│           │ │              │                                       │                                       │ (sec). 0 - in case of not limited dura│
│           │ │              │                                       │                                       │tion                                   │
│           │ │              │                                       │                                       │positive_integer mailbox_volume = 1800;│
│           │ │              │                                       │                                       │ //The mailbox volume (sec)            │
│           │ │              │                                       │                                       │boolean override_messages = true; //Ove│
│           │ │              │                                       │                                       │rride messages in case of mailbox is fu│
│           │ │              │                                       │                                       │ll                                     │
│           │ │              │                                       │                                       │string email_from = "%DISPLAYNAME%"; //│
│           │ │              │                                       │                                       │Email from template. Macro variables: %│
│           │ │              │                                       │                                       │DATE%, %TIME%, %CALLING%, %DISPLAYNAME%│
│           │ │              │                                       │                                       │string email_subject = "Voicemail from │
│           │ │              │                                       │                                       │%CALLING% at %DATE% %TIME%"; //Email su│
│           │ │              │                                       │                                       │bject template. Macro variables: %DATE%│
│           │ │              │                                       │                                       │, %TIME%, %CALLING%, %DISPLAYNAME%     │
│           │ │              │                                       │                                       │string email_body = []; //Email body te│
│           │ │              │                                       │                                       │mplate. Macro variables: %DATE%, %TIME%│
│           │ │              │                                       │                                       │, %CALLING%, %DISPLAYNAME%             │
│           │ │              │                                       │                                       │boolean play_message_details = false; /│
│           │ │              │                                       │                                       │/Play message's details (number, time) │
│           │ │              │                                       │                                       │before message                         │
│           │ │              │                                       │                                       │address password = []; //There is passw│
│           │ │              │                                       │                                       │ord to have access to the voicemail box│
│           │ │              │                                       │                                       │positive_integer max_silence = 0; //The│
│           │ │              │                                       │                                       │re is time(sec) while service wait for │
│           │ │              │                                       │                                       │a contiguous period of silence before t│
│           │ │              │                                       │                                       │erminating an incoming call to voice ma│
│           │ │              │                                       │                                       │il                                     │
│walkie_talk│1│Walkie Talkie │                                       │boolean dtmf_detector = true; //       │address swap_digit = "*"; //Digit to sw│
│ie         │ │              │                                       │                                       │ap reception / transmission mode       │
│zone_page  │8│Zone Page call│string enumPriority = "0_flash_override│boolean dtmf_detector = true; //       │enum priority = '3_priority'; //(0_flas│
│           │ │              │|1_flash|2_immediate|3_priority|4_routi│                                       │h_override | 1_flash | 2_immediate | 3_│
│           │ │              │ne"; //Call's priority                 │                                       │priority | 4_routine)                  │
│           │ │              │string enumInitiation_policy = "manager│                                       │integer intro_pause = 3; //Pause before│
│           │ │              │s|members|any"; //Initiation call's pol│                                       │ play intro files                      │
│           │ │              │icy                                    │                                       │integer announcement_pause = 0; //Pause│
│           │ │              │                                       │                                       │ before play announcement files        │
│           │ │              │                                       │                                       │integer announcement_playback_cnt = 1; │
│           │ │              │                                       │                                       │//Announcement files playback count    │
│           │ │              │                                       │                                       │integer announcement_repeat_time = 10; │
│           │ │              │                                       │                                       │//Announcement files repeat timeout    │
│           │ │              │                                       │                                       │boolean terminate_when_initiator_discon│
│           │ │              │                                       │                                       │nects = undefined; //Terminate call aft│
│           │ │              │                                       │                                       │er initiator disconnected              │
│           │ │              │                                       │                                       │boolean terminate_when_playback_ends = │
│           │ │              │                                       │                                       │undefined; //Terminate call after playb│
│           │ │              │                                       │                                       │ack ends                               │
│           │ │              │                                       │                                       │boolean terminate_when_last_listener_le│
│           │ │              │                                       │                                       │ave = undefined; //Terminate call after│
│           │ │              │                                       │                                       │ last listener disconnects             │
│           │ │              │                                       │                                       │enum initiation_policy = any; //Initiat│
│           │ │              │                                       │                                       │ion call's policy                      │
│           │ │              │                                       │                                       │string display_name = "ZonePage"; //Zon│
│           │ │              │                                       │                                       │ePage call DisplayName                 │
│           │ │              │                                       │                                       │boolean play_release_tone = false; //Zo│
│           │ │              │                                       │                                       │nePage release tone                    │
│           │ │              │                                       │                                       │address announcement_repeat_digit = "#"│
│           │ │              │                                       │                                       │; //Digit to repeat announcement files │
│           │ │              │                                       │                                       │address[256] members = undefined; //Zon│
│           │ │              │                                       │                                       │e page member list                     │
│           │ │              │                                       │                                       │address[256] managers = []; //Zone page│
│           │ │              │                                       │                                       │ managers list                         │
│           │ │              │                                       │                                       │media_resource[10] intro_files = []; //│
│           │ │              │                                       │                                       │List of Intro media_files              │
│           │ │              │                                       │                                       │media_resource[10] announcement_files =│
│           │ │              │                                       │                                       │ []; //List of Announcement media_files│
└───────────┴─┴──────────────┴───────────────────────────────────────┴───────────────────────────────────────┴───────────────────────────────────────┘
Installed supplementary services: 77

[exec at: 25.07.2019 09:18:17, exec time: 55ms, nodes: ds1@ecss1]
 uninstall

Команда для удаления из системы установленных услуг. Если услуга была активирована, перед удалением она будет деактивирована.

После удаления услуги все настройки этой услуги на всех виртуальных АТС будут удалены.

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

/cluster/storage/<CLUSTER>/ss/uninstall

Синтаксис:

uninstall <SSNames>

Параметры:

<SSNames> — имя услуги, которую необходимо удалить из системы. Для указания всех установленных в системе услугах используется "*". Для перечисления услуг используется ",".

Пример:

Удалить  услугу "запись разговора" из системы:

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/uninstall call_recording 
Supplementary service call_recording successfully uninstalled.

[exec at: 18.02.2019 16:28:59, exec time: 121ms, nodes: ds1@ecss1]

Удалить все виды услуг, установленные в системе:

 Нажмите здесь для раскрытия...
admin@[ds1@ecss1]:/$ cluster/storage/ds1/ss/uninstall *            
Supplementary service vip_call successfully uninstalled.
Supplementary service voice_page_control successfully uninstalled.
Supplementary service redial successfully uninstalled.
Supplementary service ml successfully uninstalled.
Supplementary service sco_black successfully uninstalled.
Supplementary service meet_me_conference successfully uninstalled.
Supplementary service zone_page successfully uninstalled.
Supplementary service teleconference successfully uninstalled.
Supplementary service mcid successfully uninstalled.
Supplementary service assistant successfully uninstalled.
Supplementary service ctr successfully uninstalled.
Supplementary service my_number successfully uninstalled.
Supplementary service voicemail successfully uninstalled.
Supplementary service click_to_call successfully uninstalled.
Supplementary service auto_redial successfully uninstalled.
Supplementary service distinctive_ring successfully uninstalled.
Supplementary service cw successfully uninstalled.
Supplementary service call_recording successfully uninstalled.
Supplementary service blf successfully uninstalled.
Supplementary service presence successfully uninstalled.
Supplementary service remote_phone successfully uninstalled.
Supplementary service ring_back_tone successfully uninstalled.
Supplementary service message successfully uninstalled.
Supplementary service voice_page successfully uninstalled.
Supplementary service cfos successfully uninstalled.
Supplementary service scr successfully uninstalled.
Supplementary service cf_aon successfully uninstalled.
Supplementary service direct_call successfully uninstalled.
Supplementary service cgg successfully uninstalled.
Supplementary service cfu successfully uninstalled.
Supplementary service conference successfully uninstalled.
Supplementary service qsig_cfu successfully uninstalled.
Supplementary service find_me successfully uninstalled.
Supplementary service follow_me successfully uninstalled.
Supplementary service cft successfully uninstalled.
Supplementary service chunt successfully uninstalled.
Supplementary service cfnr_type2 successfully uninstalled.
Supplementary service acb successfully uninstalled.
Supplementary service abonent_ivr successfully uninstalled.
Supplementary service cfnr successfully uninstalled.
Supplementary service cfu_type2 successfully uninstalled.
Supplementary service sca successfully uninstalled.
Supplementary service rbp successfully uninstalled.
Supplementary service cliro successfully uninstalled.
Supplementary service intervention successfully uninstalled.
Supplementary service alarm successfully uninstalled.
Supplementary service speed_dial successfully uninstalled.
Supplementary service fax_to_email successfully uninstalled.
Supplementary service flexicall successfully uninstalled.
Supplementary service park successfully uninstalled.
Supplementary service auto_redial_with_callback successfully uninstalled.
Supplementary service callback successfully uninstalled.
Supplementary service 3way successfully uninstalled.
Supplementary service follow_me_no_response successfully uninstalled.
Supplementary service find_me_no_response successfully uninstalled.
Supplementary service sco_white successfully uninstalled.
Supplementary service tsmn_request successfully uninstalled.
Supplementary service cc_agent successfully uninstalled.
Supplementary service dnd successfully uninstalled.
Supplementary service rfc successfully uninstalled.
Supplementary service fbc successfully uninstalled.
Supplementary service cfb successfully uninstalled.
Supplementary service qsig_cfnr successfully uninstalled.
Supplementary service fax_receiver successfully uninstalled.
Supplementary service qsig_cfb successfully uninstalled.
Supplementary service clir successfully uninstalled.
Supplementary service teleconference_manager successfully uninstalled.
Supplementary service pickup successfully uninstalled.
Supplementary service clip successfully uninstalled.
Supplementary service cf_sip successfully uninstalled.
Supplementary service cnip successfully uninstalled.

[exec at: 19.02.2019 09:03:11, exec time: 2s 420ms, nodes: ds1@ecss1]
 update

Командой выполняется обновление услуги с текущей версии, установленной в системе, до версии, указанной в XML-файле.
Команда берет описание услуги из XML-файла, проверяет наличие расхождений описания услуги между версиями, проверяет присутствие скрипта миграции (также в XML-файле).
Если в новой версии XML присутствуют свойства, которых не было в предыдущей версии XML, то система проверяет, есть ли правило миграции для данного свойства. Если правила миграции присутствуют для всех полей — миграция проходит в автоматическом режиме. Если в новой версии XML присутствует свойство, правило миграции для которого отсутствует — необходимо указать правило миграции вручную. Для этого система посредством wizzard-а запросит у администратора ввести значение для инициализации данного свойства у абонентов, у которых данная услуга уже активирована.

Возможны три варианта инициализации:

  1. Инициализация значением по умолчанию. Свойство может быть инициализировано значением по умолчанию только тогда, когда значение по умолчанию описано в XML-файле;
  2. Получить значение из установленного свойства. Если в ранней версии услуги было свойство того же типа, что и новое свойство, то значение для нового свойства можно скопировать из значения установленного свойства;
  3. Указать явно. Можно явно указать, каким значением инициализировать новое свойство.
Если хотя бы для одного из новых свойств не указано правило миграции — обновление услуги не выполняется.
Все файлы-описания услуги должны располагаться в папке /var/lib/ecss/ss/ на том же вычислительном ресурсе, где и запущен DS.

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

/cluster/storage/<CLUSTER>/ss/update

Синтаксис:

update <NODE> -<Flag> <SSTemplate>

Параметры:

<NODE> — имя подсистемы DS;<Flag> — флаг, принимает значения:

  • -a, --auto — использовать правила миграции, описанные в XML (если они прописаны);
  • -m, --manual — не использовать правила миграции, описанные в XML (если они прописаны). В данном случае для всех новых свойств необходимо будет явно задать значения;
    <SSTemplate> — имя XML файла-описания услуги.
    В качестве файла-описания услуги может использоваться маска поиска. В этом случае все файлы, имена которых удовлетворяют этой маске, будут установлены в систему. В маске поиска используются символы:
  • * — любое количество символов,
  • ? — ровно один символ.

Пример:

Обновление услуги "zone_page"  с версии 6 до версии 7.

admin@[ds1@ecss1]:/$ cluster/storage/ds1/ss/update ds1@ecss1 --auto ss_zone_page.xml

Updating zone_page from 6 to 7 version.
[update] New property play_release_tone have default value false.
Start updating property play_release_tone :: boolean                    
Would you like to apply this value for all activate aliases?: yes/no ?> yes

Successfully updated: /var/lib/ecss/ss/ss_zone_page.xml

[exec at: 14.02.2019 13:57:30, exec time: 9s 72ms, nodes: ds1@ecss1]

Обновление без правил миграции:

admin@[mycelium1@ecss1]:/$ cluster/storage/ds1/ss/update ds1@ecss1 --manual ss_flexicall.xml 

Successfully installed: /var/lib/ecss/ss/ss_flexicall.xml

[exec at: 18.02.2019 16:25:23, exec time: 375ms, nodes: ds1@ecss1,ds1@ecss2]

Настройка параметров услуги через web-конфигуратор

Настройки выполняются в разделе "Supplementary services" ("Дополнительные услуги") приложения "Subscriber card" ("Карточка абонента").

Настройка услуги для всех абонентов определенной виртуальной АТС, а так же для определенного абонента в отдельности выполняется в приложении "Subscriber card" ("Карточка абонента").

Индивидуальные настройки услуги абонента переопределяют глобальные настройки услуги (настройки услуги на уровне домена).

Для активации услуги установите флаг напротив значения "Конференц-связь с последовательным сбором участников (conference)" и выполните настройки. Описание параметров приведено выше.
Для деактивации услуги — снимите флаг.

Для сохранения настроек нажмите кнопку "Save" ("Сохранить").

Изменение режима конференции

Существуют 2 режима завершения конференции:

  1. Завершение конференц-связи при завершении вызова инициатора конференции (режим включен по умолчанию);
  2. Завершение конференц-связи при завершении последнего вызова в конференции.

Порядок изменения режима:

  1. Перед изменением режима конференц-связи необходимо обновить услугу:
    /cluster/storage/<CLUSTER>/ss/update <NODE> -<Flag> <SSTemplate>

    где

    <NODE> — имя подсистемы DS;
    <Flag> — флаг, принимает значения:

    • -a, --auto — использовать правила миграции, описанные в XML (если они прописаны);
    • -m, --manual — не использовать правила миграции, описанные в XML (если они прописаны). В данном случае для всех новых свойств необходимо будет явно задать значения;

    <SSTemplate> — имя XML файла-описания услуги. В качестве файла-описания услуги может использоваться маска поиска. В этом случае все файлы, имена которых удовлетворяют этой маске, будут установлены в систему. В маске поиска используются символы:

    • * — любое количество символов,
    • ? — ровно один символ.

    Пример:

    admin@[restfs1@IBM]:/$ cluster/storage/ds1/ss/update ds1@IBM -a ss_conference.xml                                            
    
    Updating conference from 6 to 7 version.
    Start updating property destroy_mode :: enum
    [update] New property destroy_mode have default value by_no_master.
    Would you like to apply this value for all activate aliases?: yes/no ?> yes
    
    Successfully updated: /var/lib/ecss/ss/ss_conference.xml
    
    [exec at: 01.02.2018 10:42:31, exec time: 3s 261ms, nodes: ds1@IBM]
  2. Активировать услугу, выставив режим завершения конференции:

    /cluster/storage/<CLUSTER>/ss/activate <DOMAIN> <ADDRESS> conference <DESTROY MODE>

    где

    <DOMAIN> — имя виртуальной АТС, которой принадлежит абонент(ы);
    <ADDRESS> — номер(а) абонентов, для которых выполняется настройка услуги, символ "*" используется для указания всех абонентов заданной виртуальной АТС;

    Диапазоны номеров указываются в фигурных скобках. Например: 71{1-2,9} соответствует номерам 711, 712, 719.

    <DESTROY MODE> — режим завершения конференции:

    • by_no_master — конференция завершается, когда создатель кладет трубку;
    • by_no_more_calls — конференция завершается, когда не остается активных вызовов.

    Пример выставления режима завершение конференции при завершении последнего вызова в конференции:

    admin@[restfs1@IBM]:/$ cluster/storage/ds1/ss/activate test.domain 102 conference destroy_mode = by_no_more_calls
    Success: Supplementary service conference activated for domain "test.domain" address "102" 
    
    [exec at: 01.02.2018 10:42:51, exec time: 30ms, nodes: ds1@IBM]

    Пример выставления режима завершение конференции при завершении вызова инициатора конференции:

    admin@[restfs1@IBM]:/$ cluster/storage/ds1/ss/activate test.domain 102 conference destroy_mode = by_no_master    
    Success: Supplementary service conference activated for domain "test.domain" address "102" 
    
    [exec at: 01.02.2018 10:45:54, exec time: 40ms, nodes: ds1@IBM]

Пример настройки

Настройка на стороне SSW

Активировать услугу "Конференц-связь с последовательным сбором участников (conference)" для SMART-абонента с номером 100 виртуальной АТС "arko".

Активация услуги через интерфейс командной строки:

/domain/arko/ss/activate 100 conference by_no_master, max_participants = 16

/cluster/storage/ds3/ss/activate arko 100 conference by_no_master, max_participants = 16

Активация и настройка услуги через web-конфигуратор:

  1. Выберите номер телефона абонента.
  2. Разрешите использовать услугу абоненту — установите . Установите флаг напротив услуги "Конференц-связь с последовательным сбором участников (conference)".
  3. Выберите режим завершения конференц-связи. Установите максимальное количество участников конференции — 16.
  4. Для сохранения настроек нажмите кнопку "Save" ("Сохранить").

Настройка услуги на стороне SMART SIP-телефона

Настройка услуги на ТА YeaLink Т26Р

На телефоне Yealink нужно открыть вкладку advanced в настройках SIP-аккаунта:

Где параметру Conference Type выбрать значение Network Conference, а в параметре Conference URI указать адрес сервера конференции в формате *71#@SIPdomain, где SIPdomain — SIP домен, используемый в виртуальной АТС:

Настройка услуги на ТА Snom 320

На телефоне Snom нужно открыть вкладку Function Keys в основном меню:

где для кнопки CONFERENCE изменить поведение, поменять значение параметра Type на Conference Server и установить в качестве значения адрес сервера конференции в формате *71#@SIPdomain, где SIPdomain — SIP домен, используемый в виртуальной АТС

Настройка услуги на ТА Cisco

Для сбора конференции на ТА Cisco необходимо в файле конфигурации заполнить секцию sipCallFeatures:

<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<remoteCcEnable>true</remoteCcEnable>
</sipCallFeatures>