Hс_aliases_list
Команда возвращает список алиасов, определенных в домене для конкретного адреса.
Аналог команды в CoCon:
domain/<DOMAIN>/alias/list
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_list
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- 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="interface_type" type="xs:string" use="optional"/> <xs:attribute name="interface_group" type="xs:string" use="optional"/> <xs:attribute name="address" type="xs:string" use="required"/> <xs:attribute name="iface_name" type="xs:string" use="optional"/> <xs:attribute name="active" type="xs:boolean" use="required"/> <xs:attribute name="binded" type="xs:boolean" use="optional"/> <xs:attribute name="displayName" type="xs:string" use="optional"/> </xs:complexType> <!-- errorType--> <xs:complexType name="errorType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="interface" type="xs:string"/> <xs:attribute name="address" type="xs:string"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/alias_list
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_alias_list.xsd"> <aliases domain="biysk.local" addr="24046{4-5}" /> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_alias_list.xsd"> <aliases> <alias domain="biysk.local" interface="e50014fe8bf4bc8e" interface_type="sip" interface_group="loc.gr" address="240464" active="true"/> <alias domain="biysk.local" interface="e500150bfc883838" interface_type="sip" interface_group="loc.gr" address="240465" active="true"/> </aliases> </out>
Hс_aliases_list2
Команда возвращает список алиасов, определенных в домене с фильтрацией по свойствам алиаса. В случае, если запрос выполняется длительное время (более 3х секунд), то команда прерывается, и возвращаются только те алиасы, что найдены на текущий момент. При этом возвращается курсор для продолжения поиска. Если же курсор не вернулся, это значит что все данные были возвращены.
Аналог команды в CoCon:
Нет прямого аналога. Работает как комбинация следующих команд:
domain/<DOMAIN>/alias/list
domain/<DOMAIN>/alias/info
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/alias_list2
Код 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"> <!-- opType--> <xs:simpleType name="opType"> <xs:restriction base="xs:string"> <xs:enumeration value="=="/> <xs:enumeration value="~"/> <xs:enumeration value="/="/> <xs:enumeration value=">"/> <xs:enumeration value="<"/> <xs:enumeration value="=<"/> <xs:enumeration value=">="/> <xs:enumeration value="in"/> </xs:restriction> </xs:simpleType> <!-- filterType --> <xs:complexType name="filterType"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="op" type="opType" use="required"/> <xs:attribute name="value" type="xs:string" use="required"/> </xs:complexType> <!-- andFiltersType --> <xs:complexType name="andFiltersType"> <xs:sequence> <xs:element name="filter" type="filterType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- filtersType --> <xs:complexType name="filtersType"> <xs:sequence> <xs:element name="and" type="andFiltersType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- aliasType --> <xs:complexType name="aliasType"> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="iface" type="xs:string" use="required"/> <xs:attribute name="address" type="xs:string" use="required"/> <xs:attribute name="active" type="xs:boolean" use="required"/> <xs:attribute name="binded" type="xs:boolean" use="required"/> <xs:attribute name="display_name" type="xs:string" use="required"/> <xs:attribute name="regime" type="xs:string" use="required"/> <xs:attribute name="interface_name" type="xs:string" use="required"/> <xs:attribute name="interface_type" type="xs:string" use="required"/> <xs:attribute name="interface_owner" type="xs:string" use="required"/> <xs:attribute name="interface_group" type="xs:string" use="required"/> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:all> <xs:element name="filters" type="filtersType"/> </xs:all> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="limit" type="xs:string" use="required"/> <xs:attribute name="address_range" type="xs:string" use="optional"/> <xs:attribute name="cursor" 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="result"> <xs:complexType> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="alias" type="aliasType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="cursor" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> </xs:schema>
Пример
Запрос: http://192.168.1.21:9999/commands/alias_list2
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_alias_list2.xsd"> <request address_range="240{500-510}" domain="biysk.local" limit="5"> <filters> <and> <filter name="regime" op="==" value="accsusp"/> </and> <and> <filter name="active" op="==" value="true"/> </and> </filters> </request> </in>
Ответ:
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_alias_list2.xsd"> <result cursor="g2sABjI0MDUwNQ=="> <alias domain="biysk.local" iface="e50015742fc1982f" address="240500" active="true" binded="false" display_name="" regime="accsusp" interface_name="240500@biysk.local" interface_type="sip" interface_owner="sip1" interface_group="loc.gr"/> <alias domain="biysk.local" iface="e50015742ff7ed21" address="240501" active="true" binded="false" display_name="" regime="accsusp" interface_name="240501@biysk.local" interface_type="sip" interface_owner="sip1" interface_group="loc.gr"/> <alias domain="biysk.local" iface="e500157430111328" address="240502" active="true" binded="false" display_name="" regime="accsusp" interface_name="240502@biysk.local" interface_type="sip" interface_owner="sip1" interface_group="loc.gr"/> <alias domain="biysk.local" iface="e5001574302949af" address="240503" active="true" binded="false" display_name="" regime="accsusp" interface_name="240503@biysk.local" interface_type="sip" interface_owner="sip1" interface_group="loc.gr"/> <alias domain="biysk.local" iface="e50015743040e6c3" address="240504" active="true" binded="false" display_name="" regime="accsusp" interface_name="240504@biysk.local" interface_type="sip" interface_owner="sip1" interface_group="loc.gr"/> </result> </out>