Hc_valias_declare
Команда декларирует список виртуальных алиасов в рамках определенной виртуальной АТС, с возможностью указания определенной группы интерфейсов.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/virtual/declare
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/valias_declare
Код 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"> <xs:include schemaLocation="error.xsd" /> <!-- causeType--> <xs:simpleType name="causeType"> <xs:restriction base="xs:string"> <xs:enumeration value="already_exists"/> <xs:enumeration value="licence_limit"/> <xs:enumeration value="domain_limit"/> </xs:restriction> </xs:simpleType> <!-- warningType--> <xs:complexType name="warningType"> <xs:attribute name="cause" type="causeType"/> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="interface" type="xs:string" use="required"/> <xs:attribute name="address" type="xs:string" use="required"/> </xs:complexType> <!-- aliasType--> <xs:complexType name="aliasType"> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="interface" type="xs:string" use="required"/> <xs:attribute name="address" type="xs:string" use="required"/> <xs:attribute name="active" type="xs:boolean" use="required"/> </xs:complexType> <!-- successType--> <xs:complexType name="successType"> <xs:sequence> <xs:element name="alias" type="aliasType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- warningsType--> <xs:complexType name="warningsType"> <xs:sequence> <xs:element name="warning" type="warningType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- resultType--> <xs:complexType name="resultType"> <xs:sequence> <xs:element name="success" type="successType"/> <xs:element name="warnings" type="warningsType"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="context" type="xs:string" use="required"/> <xs:attribute name="address" type="xs:string" use="required"/> <xs:attribute name="group" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out --> <xs:element name="out"> <xs:complexType> <xs:choice> <xs:element name="result" type="resultType" /> <xs:element name="error" type="errorType" /> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос:
http://192.168.1.21:9999/commands/valias_declare
<?xml version="1.0"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_valias_declare.xsd"> <request domain="biysk.local" context="ctx_from_local" address="240{600-602}" group="loc.gr"/> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_valias_declare.xsd"> <result> <success> <alias domain="biysk.local" interface="virtual:240600@biysk.local" address="240600" active="true"/> <alias domain="biysk.local" interface="virtual:240601@biysk.local" address="240601" active="true"/> <alias domain="biysk.local" interface="virtual:240602@biysk.local" address="240602" active="true"/> </success> <warnings/> </result> </out>
Hc_valias_list
Команда возвращает список виртуальных алиасов в рамках определенного домена, для определенной группы интерфейсов.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/virtual/list
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/valias_list
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа: aliases_list.xsd
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="aliases_list.xsd"/> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="group" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out --> <xs:element name="out"> <xs:complexType> <xs:all> <xs:element name="aliases"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="alias" type="aliasType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:schema>
Пример 1:
Запрос: http://192.168.1.21:9999/commands/valias_list
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_valias_list.xsd"> <request domain="biysk.local" group="loc.gr"/> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_valias_list.xsd"> <aliases> <alias domain="biysk.local" interface="virtual:240602@biysk.local" address="240602" active="true"/> <alias domain="biysk.local" interface="virtual:240601@biysk.local" address="240601" active="true"/> <alias domain="biysk.local" interface="virtual:240600@biysk.local" address="240600" active="true"/> </aliases> </out>
Пример 2:
Запрос: http://192.168.23.34:9999/commands/valias_list
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_valias_list.xsd"> <request domain="biysk.local"/> </in
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_valias_list.xsd"> <aliases> <alias domain="biysk.local" interface="virtual:240602@biysk.local" address="240602" active="true"/> <alias domain="biysk.local" interface="virtual:240601@biysk.local" address="240601" active="true"/> <alias domain="biysk.local" interface="virtual:240600@biysk.local" address="240600" active="true"/> </aliases> </out>
Hc_valias_remove
Команда удаляет список виртуальных алиасов в рамках определенного домена, с возможностью указания определенной группы интерфейсов для фильтрации.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/virtual/remove
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/valias_remove
Код 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"> <!-- aliasType--> <xs:complexType name="aliasType"> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="address" type="xs:string" use="required"/> <xs:attribute name="group" type="xs:string" use="optional"/> </xs:complexType> <!-- aliasesType--> <xs:complexType name="aliasesType"> <xs:sequence> <xs:element name="alias" type="aliasType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="aliases" type="aliasesType"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос:
http://192.168.1.21:9999/commands/valias_remove
<?xml version="1.0"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_valias_remove.xsd"> <request> <aliases> <alias domain="biysk.local" address="240601" group="loc.gr"/> <alias domain="biysk.local" address="240602" group="loc.gr"/> </aliases> </request> </in>
Ответ: 204
Добавить комментарий