Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Hc_cocon_add_user

Команда добавляет нового пользователя в систему, позволяет добавить его в группы пользователей/администраторов системы ECSS-10, определенных виртуальных АТС (доменов).

Аналог команды в CoCon:

cocon/add-user

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_add_user

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- errorType-->
    <xs:complexType name="resultType">
        <xs:attribute name="correct" type="xs:boolean" use="required"/>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="user">
                    <xs:complexType>
                        <xs:attribute name="name" type="xs:string" use="required"/>
                        <xs:attribute name="password" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <xs:element name="result" type="resultType" minOccurs="1" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_add_user

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_add_user.xsd">
    <user is_user="true" password="test123" is_admin="false" name="test_user">
        <udomains>
            <domain name="biysk.local"/>
            <domain name="ct.office"/>
        </udomains>
        <adomains>
            <domain name="ct.office"/>
        </adomains>
    </user>
</in>

Ответ:

<?xml version="1.0"?><out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_add_user.xsd"><ok name="test_user"/></out>

Если пользователь с таким именем уже существует - выдается ошибка 404

Hc_cocon_del_user

Команда позволяет удалить пользователя из системы.

Аналог команды в CoCon:

cocon/del-user

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_del_user

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 204 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- errorType-->
    <xs:complexType name="errorType">
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="reason" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="user">
                    <xs:complexType>
                        <xs:attribute name="name" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:choice>
                <!-- error -->
                <xs:element name="error" type="errorType" minOccurs="0"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_add_user

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_del_user.xsd">
    <user name="test2"/>
</in>

Ответ:

204 код

Hc_cocon_add_user_to_group

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

Аналог команды в CoCon:

cocon/add-user-to-group

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_add_user_to_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- okType-->
    <xs:complexType name="okType">
        <xs:attribute name="user" type="xs:string" use="required"/>
        <xs:attribute name="group" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- errorType-->
    <xs:complexType name="errorType">
        <xs:attribute name="user" type="xs:string" use="required"/>
        <xs:attribute name="group" type="xs:string" use="required"/>
        <xs:attribute name="reason" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupType-->
    <xs:complexType name="groupType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupsType-->
    <xs:complexType name="groupsType">
        <xs:sequence>
            <xs:element name="group" type="groupType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- userType-->
    <xs:complexType name="userType">
        <xs:all>
            <xs:element name="groups" type="groupsType"/>
        </xs:all>
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- resultType-->
    <xs:complexType name="resultType">
        <xs:sequence>
                <!-- ok -->
                <xs:element name="ok" type="okType" minOccurs="0" maxOccurs="unbounded"/>
                <!-- error -->
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="user" type="userType" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <xs:element name="result" type="resultType" minOccurs="1" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_add_user_to_group

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_add_user_to_group.xsd">
    <user name="test_user">
        <groups>
            <group name="ecss-admin"/>
        <group name="ecss-user"/>
        </groups>
    </user>
    <user name="test2">
        <groups>
            <group name="ecss-biysk.local-domain-user"/>
            <group name="ecss-user"/>
            <group name="ecss-biysk.local-domain-admin"/>
        </groups>
    </user>
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_add_user_to_group.xsd">
    <result>
        <ok user="test_user" group="ecss-admin"/>
        <ok user="test_user" group="ecss-user"/>
        <ok user="test2" group="ecss-biysk.local-domain-user"/>
        <ok user="test2" group="ecss-user"/>
        <ok user="test2" group="ecss-biysk.local-domain-admin"/>
    </result>
</out>

Hc_cocon_del_user_from_group

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

Аналог команды в CoCon:

cocon/del-user-from-group

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_del_user_from_group

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить двумя сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- okType-->
    <xs:complexType name="okType">
        <xs:attribute name="user" type="xs:string" use="required"/>
        <xs:attribute name="group" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- errorType-->
    <xs:complexType name="errorType">
        <xs:attribute name="user" type="xs:string" use="required"/>
        <xs:attribute name="group" type="xs:string" use="required"/>
        <xs:attribute name="reason" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupType-->
    <xs:complexType name="groupType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupsType-->
    <xs:complexType name="groupsType">
        <xs:sequence>
            <xs:element name="group" type="groupType" minOccurs="1" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- userType-->
    <xs:complexType name="userType">
        <xs:all>
            <xs:element name="groups" type="groupsType"/>
        </xs:all>
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- resultType-->
    <xs:complexType name="resultType">
        <xs:sequence>
                <!-- ok -->
                <xs:element name="ok" type="okType" minOccurs="0" maxOccurs="unbounded"/>
                <!-- error -->
                <xs:element name="error" type="errorType" minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="user" type="userType" minOccurs="1" maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <xs:element name="result" type="resultType" minOccurs="1" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_del_user_from_group

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_del_user_to_group.xsd">
    <user name="test_user">
        <groups>
            <group name="ecss-admin"/>
        </groups>
    </user>
    <user name="test2">
        <groups>
            <group name="ecss-biysk.local-domain-admin"/>
            <group name="ecss-user"/>
            <group name="ecss-admin"/>
        </groups>
    </user>
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_del_user_to_group.xsd">
    <result>
        <ok user="test_user" group="ecss-admin"/>
        <ok user="test2" group="ecss-biysk.local-domain-admin"/>
        <ok user="test2" group="ecss-user"/>
        <ok user="test2" group="ecss-admin"/>
    </result>
</out>

Hc_my_groups

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

Аналог команды в CoCon:

cocon/my-groups

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/my_groups

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- groupType -->
    <xs:complexType name="groupType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request">
                    <xs:complexType/>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="groups">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="group" type="groupType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/my_groups

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_my_groups.xsd">
    <request/>
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_my_groups.xsd">
    <groups>
        <group name="ecss-admin"/>
        <group name="ecss-biysk.local-domain-admin"/>
        <group name="ecss-biysk.local-domain-user"/>
        <group name="ecss-user"/>
    </groups>
</out>

Hc_cocon_passwd

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

Аналог команды в CoCon:

cocon/passwd

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_passwd

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 201 – в случае успеха;
  • 200 – в случае ошибки, с описанием ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- errorType-->
    <xs:complexType name="errorType">
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="reason" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="user">
                    <xs:complexType>
                        <xs:attribute name="name" type="xs:string" use="required"/>
                        <xs:attribute name="password" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <!-- error -->
                <xs:element name="error" type="errorType" minOccurs="1" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_passwd

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_passwd.xsd">
    <user password="test_user" name="test123"/>
</in>

Ответ:

  • в случае успеха: 201;
  • в случае ошибки:

    <?xml version="1.0"?>
    <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_passwd.xsd">
        <error name="testSSW" reason="No such object"/>
    </out>

Hc_cocon_check_passwd

Команда позволяет проверить пароль для определенного пользователя CoCon.

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_check_passwd

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха. Если пароль неверный, возвращается 200 сообщение с result correct="false";
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!-- errorType-->
    <xs:complexType name="resultType">
        <xs:attribute name="correct" type="xs:boolean" use="required"/>
    </xs:complexType>
    <!-- in-->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="user">
                    <xs:complexType>
                        <xs:attribute name="name" type="xs:string" use="required"/>
                        <xs:attribute name="password" type="xs:string" use="required"/>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <xs:element name="result" type="resultType" minOccurs="1" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.23.34:9999/commands/cocon_check_passwd

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_check_passwd.xsd">
    <user password="ssw123" name="test"/>
</in>

Ответ: 200

<?xml version="1.0"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_check_passwd.xsd">
    <result correct="true"/>
</out>

Hc_cocon_users_list

Команда возвращает список пользователей подсистемы управления CoCon с указанием групп доступа, в которые каждый пользователь входит.

Аналог команды в CoCon:

cocon/list users

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_users_list

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- groupType -->
    <xs:complexType name="groupType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupsType -->
    <xs:complexType name="groupsType">
        <xs:sequence>
            <xs:element name="group" type="groupType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- userType -->
    <xs:complexType name="userType">
        <xs:sequence>
            <xs:element name="groups" type="groupsType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="name" type="xs:string" use="required"/>
        <xs:attribute name="role" type="xs:string" use="optional"/>
    </xs:complexType>
    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request">
                    <xs:complexType/>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="users">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="user" type="userType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_users_list

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_users_list.xsd">
    <request/>
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_users_list.xsd">
    <users>
        <user name="admin">
            <groups>
                <group name="ecss-admin"/>
                <group name="ecss-biysk.local-domain-admin"/>
                <group name="ecss-biysk.local-domain-user"/>
                <group name="ecss-user"/>
            </groups>
        </user>
        <user name="bsk">
            <groups>
                <group name="ecss-biysk.local-domain-admin"/>
                <group name="ecss-biysk.local-domain-user"/>
            </groups>
        </user>
        <user name="support">
            <groups>
                <group name="ecss-admin"/>
                <group name="ecss-user"/>
            </groups>
        </user>
        <user name="test2">
            <groups>
                <group name="ecss-biysk.local-domain-user"/>
            </groups>
        </user>
        <user name="test_user">
            <groups>
                <group name="ecss-ct.office-domain-admin"/>
                <group name="ecss-ct.office-domain-user"/>
                <group name="ecss-user"/>
            </groups>
        </user>
    </users>
</out>

Hc_cocon_groups_list

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

Аналог команды в CoCon:

cocon/list groups

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_groups_list

Код HTTP-ответа:

При выполнении команды HTTP-терминал может ответить следующими сообщениями:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- groupType -->
    <xs:complexType name="userType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupsType -->
    <xs:complexType name="usersType">
        <xs:sequence>
            <xs:element name="user" type="userType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- userType -->
    <xs:complexType name="groupType">
        <xs:sequence>
            <xs:element name="users" type="usersType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request">
                    <xs:complexType/>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="groups">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="group" type="groupType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос: http://192.168.1.21:9999/commands/cocon_groups_list

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_groups_list.xsd">
        <request />
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_groups_list.xsd">
    <groups>
        <group name="ecss-admin">
            <users>
                <user name="admin"/>
                <user name="support"/>
            </users>
        </group>
        <group name="ecss-biysk.local-domain-admin">
            <users>
                <user name="admin"/>
                <user name="bsk"/>
            </users>
        </group>
        <group name="ecss-biysk.local-domain-user">
            <users>
                <user name="admin"/>
                <user name="bsk"/>
                <user name="test2"/>
            </users>
        </group>
        <group name="ecss-ct.office-domain-admin">
            <users>
                <user name="test_user"/>
            </users>
        </group>
        <group name="ecss-ct.office-domain-user">
            <users>
                <user name="test_user"/>
            </users>
        </group>
        <group name="ecss-user">
            <users>
                <user name="admin"/>
                <user name="support"/>
                <user name="test_user"/>
            </users>
        </group>
        <group name="{ECSS-ROOT}">
            <users/>
        </group>
    </groups>
</out>

Hc_cocon_roles_list

Команда возвращает список ролей подсистемы управления CoCon с указанием групп доступа, а также доменов, в которых данная роль видна.

Замечание: если роль входит во все домены, то в ответе присутствует ровно одна запись с доменом, имя которого равно "*".

Аналог команды в CoCon:

cocon/list roles

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_roles_list

Код HTTP-ответа:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- groupType -->
    <xs:complexType name="groupType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- domainType -->
    <xs:complexType name="domainType">
        <xs:attribute name="name" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- groupsType -->
    <xs:complexType name="groupsType">
        <xs:sequence>
            <xs:element name="group" type="groupType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- userType -->
    <xs:complexType name="domainsType">
        <xs:sequence>
            <xs:element name="groups" type="domainType" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
    </xs:complexType>
    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request">
                    <xs:complexType/>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="roles">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="groups" type="groupsType" minOccurs="0" maxOccurs="unbounded"/>
                            <xs:element name="domains" type="domainsType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример

Запрос: http://192.168.1.22:9999/commands/cocon_roles_list

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_roles_list.xsd">
    <request/>
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_roles_list.xsd">
    <roles>
        <role name="cc-admin">
            <groups/>
            <domains>
                <domain name="*"/>
            </domains>
        </role>
        <role name="office">
            <groups>
                <group name="ecss-ct.office-domain-admin"/>
                <group name="ecss-ct.office-domain-user"/>
            </groups>
            <domains/>
        </role>
        <role name="pbx-10X-admin">
            <groups/>
            <domains>
                <domain name="*"/>
            </domains>
        </role>
    </roles>
</out>

Hc_cocon_user_property_clean

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

Аналог команды в CoCon:

cocon/.properties/clean

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_user_property_clean

Код HTTP-ответа:

  • 201 – в случае успеха;
  • 200 - в случае, если определенное свойство нельзя изменить;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!--requestType-->
    <xs:complexType name="requestType">
        <xs:sequence>
            <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!--propertyType-->
    <xs:complexType name="propertyType">
        <xs:attribute name="key" type="xs:string" use="required"/>
    </xs:complexType>
    <!--in-->
    <xs:element name = "in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" type="requestType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример 1

Запрос:
http://192.168.1.21:9999/commands/cocon_user_property_clean

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="cocon_user_property_clean.xsd">
        <request>
          <property key="test1"/>
          <property key="test2"/>
        </request>
</in>

Код ответа:

204

Пример 2

Запрос:
http://192.168.1.21:9999/commands/cocon_user_property_clean

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation="cocon_user_property_clean.xsd">
        <request>
          <property key="shell_history_size"/>
          <property key="test2"/>
        </request>
</in>

Код ответа:

200

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_user_property_clean.xsd">
    <error cmd="hc_cocon_user_property_clean" reason="restricted_property" body="shell_history_size"/>
</out>

Hc_cocon_user_property_info

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

Аналог команды в CoCon:

cocon/.properties/info

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_user_property_info

Код HTTP-ответа:

  • 200 – в случае успеха;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!--requestType-->
    <xs:complexType name="requestType">
        <xs:all/>
        <xs:attribute name="property" type="xs:string" use="optional"/>
    </xs:complexType>
    <!--propertyType-->
    <xs:complexType name="propertyType">
        <xs:attribute name="key" type="xs:string" use="required"/>
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <!--responseType-->
    <xs:complexType name="responseType">
        <xs:sequence>
            <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!--in-->
    <xs:element name = "in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" type="requestType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!--out-->
    <xs:element name = "out">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="response" type="responseType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример 1

Запрос:
http://192.168.1.21:9999/commands/cocon_user_property_info

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_user_property_info.xsd">
        <request property="test_prop"/>
</in>

Код ответа:

200

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_user_property_info.xsd">
    <response>
        <property key="test_prop" value="112"/>
    </response>
</out>

Пример 2

Запрос:
http://192.168.1.21:9999/commands/cocon_user_property_info

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_user_property_info.xsd">
        <request/>
</in>

Код ответа:

200

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_user_property_info.xsd">
    <response>
        <property key="shell_history" value="cocon/.properties/info cocon/.properties/set test_prop2 superadmin cocon/.properties/info cocon/.properties/set test_prop 112 cocon/.properties/set shell_history_size 500 cocon/.properties/info cocon/role/add-group office ecss-ct.office-domain-user cocon/role/add-group office ecss-ct.office-domain-admin cocon/role/declare office cocon/role/add-group office.rl cocon/role/add-group office.rl ecss-ct.office-domain-admin cocon/role/add-group office.roles ecss-ct.office-domain-admin cocon/role/add-group office.roles cocon/list users domain/biysk.local/sip/user/registered domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.62 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.98 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.99 domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.62 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.99 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.98 domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.62 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.98 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.99 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.99 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/set ip_set ipset1 listen-ports list = [5060,5061,5062,5063,5064,5071,5072,5073,5074] cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.62 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/clean domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/set ip_set ipset1 listen-ports list = [5060,5061,5062,5063,5064,5071,5072,5073,5074] cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.62 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/clean ip_set ipset1 cluster/adapter/sip1/sip/network/info domain/biysk.local/sip/user/check loc.gr 240003@biysk.local domain/biysk.local/sip/user/check loc.gr 240002@biysk.local domain/biysk.local/sip/user/check loc.gr 240462@biysk.local node/uptime domain/biysk.local/ss/voicemail/mailbox/show 240464 cluster/mediator/md1/alarms/clear all system-status domain/biysk.local/sip/user/check loc.gr 240469@biysk.local domain/biysk.local/sip/user/check loc.gr 240462@biysk.local domain/biysk.local/sip/user/check loc.gr 240* domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 ip = 192.168.2.61 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 ip = 192.168.2.62 cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 192.168.2.62 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 192.168.2.61 cluster/adapter/sip1/sip/network/info cluster/adapter/sip1/sip/network/set ip_set ipset1 listen-ports list = [5060,5061,5062,5063,5064,5071,5072,5073,5074] cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss2 cluster/adapter/sip1/sip/network/set ip_set ipset1 node-ip node = sip1@ecss1 cluster/adapter/sip1/sip/network/set ip_set ipset1 listen-ports list = [5060,5061,5062,5063,5064,5071,5072,5073,5074] domain/biysk.local/sip/user/check loc.gr 240462@biysk.local cluster/adapter/sip1/sip/network/clean ip_set ipset1 domain/biysk.local/sip/user/check loc.gr 240462@biysk.local domain/biysk.local/sip/user/registered cluster/adapter/sip1/sip/network/set ip_set ipset1 listen-ports list = [5060,5061,5062,5063,5064,5071,5072,5073,5074] cluster/adapter/sip1/sip/network/set ip_set ipset1 listen-ports list = [5061,5062,5063,5064,5071,5072,5073,5074] cluster/adapter/sip1/sip/network/info cocon/add-user test2 cocon/list users domain/declare ct.office node/mycelium1@ecss1/process-info node/mycelium1@ecss1/service node/check-services system-status system/ivr/script/restrictions/apply play-dial biysk.local system/ivr/script/restrictions/set play-dial available_blocks add play, play-out, dial system/ivr/script/restrictions/declare play-dial system/ivr/script/restrictions/apply 2x2.prof biysk.local system/ivr/script/restrictions/info --long ivr_gr1 system/ivr/script/restrictions/apply ivr_gr1 biysk.local system/ivr/script/restrictions/apply 2x2.prof biysk.local system/ivr/script/restrictions/apply 2x2.prof 4 system/ivr/script/restrictions/apply 2x2.prof system/ivr/script/restrictions/apply 3-block system/ivr/script/restrictions/apply ivr_gr1 system/ivr/script/restrictions/info --long ivr_gr1 system/ivr/script/restrictions/info system/ivr/script/restrictions/apply ivr_gr1 domain/biysk.local/ivr/script/restrictions/set max_blocks_per_script 50 "/>
        <property key="shell_history_size" value="100"/>
        <property key="test_prop" value="112"/>
        <property key="test_prop2" value="superadmin"/>
    </response>
</out>

Hc_cocon_user_property_set

Команда позволяет выставлять/изменять произвольные свойства CoCon пользователей.

Аналог команды в CoCon:

cocon/.properties/set

Метод HTTP-запроса:

POST

Шаблон HTTP-запроса:

http://host:port/commands/cocon_user_property_set

Код HTTP-ответа:

  • 201 – в случае успеха;
  • 200 – в случае, если определенное свойство нельзя изменить;
  • 404 – в случае ошибки.

XSD-схема XML-файла запроса/ответа:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
    <!--requestType-->
    <xs:complexType name="requestType">
        <xs:sequence>
            <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!--propertyType-->
    <xs:complexType name="propertyType">
        <xs:attribute name="key" type="xs:string" use="required"/>
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <!--in-->
    <xs:element name = "in">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="request" type="requestType"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример 1

Запрос:
http://192.168.1.21:9999/commands/cocon_user_property_set

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_user_property_set.xsd">
        <request>
          <property key="test1" value="value1"/>
          <property key="test2" value="value2"/>
          <property key="test3" value="value31
value32"/>
        </request>
        </in>

Код ответа:

201

Пример 2

Запрос:
http://192.168.1.21:9999/commands/cocon_user_property_set

<in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cocon_user_property_set.xsd">
        <request>
          <property key="shell_history_size" value="300"/>
        </request>
</in>

Код ответа:

200

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="cocon_user_property_set.xsd">
    <error cmd="hc_cocon_user_property_set" reason="restricted_property" body="shell_history_size"/>
</out>
  • Нет меток