Hc_np_add_number
Команда позволяет добавить номер в план нумерации виртуальной АТС.
Аналог команды в CoCon:
domain/<DOMAIN>/np/numbers/add
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/np_add_number
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- <error> --> <xs:complexType name="npErrorType"> <xs:attribute name="cmd" type="xs:token" use="required" /> <xs:attribute name="reason" type="xs:string" use="required" /> <xs:attribute name="body" type="xs:string" use="optional" /> <!-- entity="[nonempty_string()]" --> <xs:attribute name="entity" type="xs:normalizedString" use="optional" /> </xs:complexType> <!-- </error> --> <!-- Error reasons description --> <xs:simpleType name="npErrorReasonType"> <xs:restriction base="xs:token"> <xs:enumeration value="not_exists" /> <xs:enumeration value="unknown_error" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <!-- End of error reasons description --> <!-- Error reasons description --> <xs:simpleType name="npNumberResultType"> <xs:restriction base="xs:token"> <xs:enumeration value="ok" /> <xs:enumeration value="already_added" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <!-- End of error reasons description --> <xs:complexType name="npResult"> <xs:sequence> <xs:element name="number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="result" type="npNumberResultType"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType name="npSuccess"> <xs:sequence> <xs:element name="np" type="npResult" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="npErrors"> <xs:sequence> <xs:element name="np" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="reason" type="npErrorReasonType"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="npNumberingPlan"> <xs:sequence> <xs:element name="number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use = "required"/> </xs:complexType> <xs:complexType name="npList"> <xs:sequence> <xs:element name="np" type="npNumberingPlan" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npList"/> </xs:sequence> <xs:attribute name="domain" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out--> <xs:element name="out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="success" type="npSuccess"/> <xs:element name="errors" type="npErrors"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="npErrorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/np_add_number
<?xml version="1.0"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_add_number.xsd"> <request domain="biysk.local"> <np_list> <np name="np_240"> <number name="415800"/> <number name="333333"/> </np> <np name="city"> <number name="240500"/> <number name="240318"/> </np> </np_list> </request> </in>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_add_number.xsd"> <response> <success> <np name="np_240"> <number name="415800" result="ok"/> <number name="333333" result="ok"/> </np> </success> <errors> <np name="city" reason="not_exists"/> </errors> </response> </out>
Hc_np_delete_number2
Команда позволяет удалить номер из плана нумерации виртуальной АТС.
Аналог команды в CoCon:
domain/<DOMAIN>/np/numbers/delete
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/np_delete_number2
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- <error> --> <xs:complexType name="npErrorType"> <xs:attribute name="cmd" type="xs:token" use="required" /> <xs:attribute name="reason" type="xs:string" use="required" /> <xs:attribute name="body" type="xs:string" use="optional" /> <!-- entity="[nonempty_string()]" --> <xs:attribute name="entity" type="xs:normalizedString" use="optional" /> </xs:complexType> <!-- </error> --> <!-- Error reasons description --> <xs:simpleType name="npErrorReasonType"> <xs:restriction base="xs:token"> <xs:enumeration value="not_exists" /> <xs:enumeration value="unknown_error" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <!-- End of error reasons description --> <!-- Error reasons description --> <xs:simpleType name="npNumberResultType"> <xs:restriction base="xs:token"> <xs:enumeration value="ok" /> <xs:enumeration value="not_exists" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <!-- End of error reasons description --> <xs:complexType name="npResult"> <xs:sequence> <xs:element name="number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="result" type="npNumberResultType"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType name="npSuccess"> <xs:sequence> <xs:element name="np" type="npResult" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="npErrors"> <xs:sequence> <xs:element name="np" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="reason" type="npErrorReasonType"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="npNumberingPlan"> <xs:sequence> <xs:element name="number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use = "required"/> </xs:complexType> <xs:complexType name="npList"> <xs:sequence> <xs:element name="np" type="npNumberingPlan" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npList"/> </xs:sequence> <xs:attribute name="domain" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out--> <xs:element name="out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="success" type="npSuccess"/> <xs:element name="errors" type="npErrors"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="npErrorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/np_delete_number2
<?xml version="1.0"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_delete_number2.xsd"> <request domain="biysk.local"> <np_list> <np name="np_240"> <number name="333333"/> <number name="444000"/> </np> <np name="office"> <number name="505"/> </np> </np_list> </request> </in>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_delete_number2.xsd"> <response> <success> <np name="np_240"> <number name="333333" result="ok"/> <number name="444000" result="ok"/> </np> <np name="office"> <number name="505" result="ok"/> </np> </success> <errors/> </response> </out>
Hc_np_rename_number
Команда позволяет переименовать указанные номера в плане нумерации.
Аналог команды в CoCon:
domain/<DOMAIN>/np/numbers/rename
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/np_rename_number
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- <error> --> <xs:complexType name="npErrorType"> <xs:attribute name="cmd" type="xs:token" use="required" /> <xs:attribute name="reason" type="npErrorReasonType" use="required" /> <xs:attribute name="body" type="xs:string" use="optional" /> <!-- entity="[nonempty_string()]" --> <xs:attribute name="entity" type="xs:normalizedString" use="optional" /> </xs:complexType> <!-- </error> --> <!-- Error reasons description --> <xs:simpleType name="npErrorReasonType"> <xs:restriction base="xs:token"> <xs:enumeration value="not_exists" /> <xs:enumeration value="conflict_numbers" /> <xs:enumeration value="unknown_error" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <!-- End of error reasons description --> <xs:simpleType name="npRenameResultStrType"> <xs:restriction base="xs:token"> <xs:enumeration value="ok" /> <xs:enumeration value="not_exists" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <xs:complexType name="NPRenameResultType"> <xs:attribute name="old_value" type="xs:string" use="required"/> <xs:attribute name="new_value" type="xs:string" use="required"/> <xs:attribute name="result" type="npRenameResultStrType" use="required"/> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="np_number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="old_value" type="xs:string" use="required"/> <xs:attribute name="new_value" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="domain" type="xs:string" use="required"/> <xs:attribute name="np_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> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="np_number" type="NPRenameResultType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="npErrorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/np_rename_number
<?xml version="1.0"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_rename_number.xsd"> <request domain="biysk.local" np_name="office"> <np_number old_value="501" new_value="2501"/> <np_number old_value="502" new_value="2502"/> </request> </in>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_rename_number.xsd"> <response> <np_number old_value="502" new_value="2502" result="ok"/> <np_number old_value="501" new_value="2501" result="ok"/> </response> </out>
Hc_np_list_number
Команда просмотра списка номеров в плане нумерации и ресурсов, которые к ним привязаны.
Аналог команды в CoCon:
domain/<DOMAIN>/np/numbers/list
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/np_list_number
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- <error> --> <xs:complexType name="npErrorType"> <xs:attribute name="cmd" type="xs:token" use="required" /> <xs:attribute name="reason" type="npErrorReasonType" use="required" /> <xs:attribute name="body" type="xs:string" use="optional" /> <!-- entity="[nonempty_string()]" --> <xs:attribute name="entity" type="xs:normalizedString" use="optional" /> </xs:complexType> <!-- </error> --> <!-- Error reasons description --> <xs:simpleType name="npErrorReasonType"> <xs:restriction base="xs:token"> <xs:enumeration value="not_exists" /> <xs:enumeration value="unknown_error" /> <!-- More reasons can be added here --> </xs:restriction> </xs:simpleType> <!-- End of error reasons description --> <xs:complexType name="NPNumberType"> <xs:choice minOccurs="0" maxOccurs="1"> <xs:element name="bridge"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="aliases"> <xs:complexType> <xs:sequence> <xs:element name="alias" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="iface" type="xs:string" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="npType"> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType name="npList"> <xs:sequence> <xs:element name="np" type="npType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="npInfo"> <xs:sequence> <xs:element name="np_number" type="NPNumberType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType name="npResult"> <xs:sequence> <xs:element name="np" type="npInfo" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npList" minOccurs="0"/> </xs:sequence> <xs:attribute name="domain" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out--> <xs:element name="out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npResult"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="npErrorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.23.34:9999/commands/np_list_number
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_list_number.xsd"> <request domain="biysk.local"/> </in>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_list_number.xsd"> <response> <np_list> <np name="office"> <np_number name="509"/> <np_number name="508"/> <np_number name="507"/> <np_number name="506"/> <np_number name="505"/> <np_number name="504"/> <np_number name="503"/> <np_number name="502"> <aliases> <alias iface="edf2271ca238df19" name="240502"/> </aliases> </np_number> <np_number name="501"> <aliases> <alias iface="edf2271ca21eb197" name="240501"/> </aliases> </np_number> <np_number name="500"> <aliases> <alias iface="edf2271ca1e76414" name="240500"/> </aliases> </np_number> </np> <np name="np_240"> <np_number name="333333"> <aliases> <alias iface="edf226eb1c2b1eb6" name="240303"/> </aliases> </np_number> <np_number name="415800"> <aliases> <alias iface="edf226eb1c44805f" name="240304"/> <alias iface="edf226eb1c5fcef2" name="240305"/> <alias iface="edf226719a92a7ec" name="240244"/> </aliases> </np_number> </np> </np_list> </response> </out>
Hc_np_bind_number
Команда привязки номера плана нумерации с локальным номером или исходящем бриджем.
Аналог команды в CoCon:
domain/<DOMAIN>/np/numbers/bind
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/np_bind_number
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- <error> --> <xs:complexType name="npErrorType"> <xs:attribute name="cmd" type="xs:token" use="required" /> <xs:attribute name="reason" type="xs:string" use="required" /> <xs:attribute name="body" type="xs:string" use="optional" /> <!-- entity="[nonempty_string()]" --> <xs:attribute name="entity" type="xs:normalizedString" use="optional" /> </xs:complexType> <!-- </error> --> <!--Алиасы: --> <!-- alias_not_exists - нет такого алиаса--> <!-- np_number_not_exists - нет такого номера в плане нумерации--> <!-- np_not_exists - нет такого плана нумерации--> <!-- unsupported_np_type - с данным номером связан бридж--> <!-- np_number_already_binded - данный алиас уже привязан к этому номеру в плане нумерации--> <!-- np_already_binded - данный алиас уже привязан к другому номеру в плане нумерации--> <!--Бриджи: --> <!-- np_number_not_exists - нет такого номера в плане нумерации--> <!-- np_is_busy - к данному плану нумерации уже привязан бридж или алиасы--> <!-- np_a_not_exists - план нумерации А не существует--> <!-- np_b_not_exists - план нумерации Б не существует--> <!-- bridge_not_found - нет такого бриджа--> <!-- invalid_bridge - указанный бридж настроен неправильно для использования в данном плане нумерации--> <xs:simpleType name="npNumberResultType"> <xs:restriction base="xs:token"> <xs:enumeration value="ok" /> <xs:enumeration value="alias_not_exists" /> <xs:enumeration value="np_number_not_exists" /> <xs:enumeration value="np_not_exists" /> <xs:enumeration value="unsupported_np_type" /> <xs:enumeration value="np_number_already_binded" /> <xs:enumeration value="np_already_binded" /> <xs:enumeration value="np_is_busy" /> <xs:enumeration value="np_a_not_exists" /> <xs:enumeration value="np_b_not_exists" /> <xs:enumeration value="bridge_not_found" /> <xs:enumeration value="invalid_bridge" /> <xs:enumeration value="unknown_error" /> </xs:restriction> </xs:simpleType> <xs:complexType name="npNumberingPlan"> <xs:sequence> <xs:element name="np_number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:choice> <xs:element name="alias"> <xs:complexType> <xs:attribute name="iface" type="xs:string" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="mode" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="master"/> <xs:enumeration value="passive"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="bridge"> <xs:complexType> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:choice> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use = "required"/> </xs:complexType> <xs:complexType name="npList"> <xs:sequence> <xs:element name="np" type="npNumberingPlan" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="npResult"> <xs:sequence> <xs:element name="np_number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="entity" type="xs:string"/> <xs:attribute name="result" type="npNumberResultType"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType name="npResultList"> <xs:sequence> <xs:element name="np" type="npResult" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npList"/> </xs:sequence> <xs:attribute name="domain" type="xs:string"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out--> <xs:element name="out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npResultList"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="npErrorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/np_bind_number
<?xml version="1.0"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_bind_number.xsd"> <request domain="biysk.local"> <np_list> <np name="np_240"> <np_number name="444000"> <alias iface="edf2271ca2872dc6" name="240505" mode="master"/> </np_number> <np_number name="390101"> <alias iface="edf2271ca2e7ad90" name="240509" mode="passive"/> </np_number> <np_number name="416977"> <bridge name="br_1"/> </np_number> </np> </np_list> </request> </in>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_bind_number.xsd"> <response> <np_list> <np name="np_240"> <np_number name="444000" entity="240505" result="ok"/> <np_number name="390101" entity="240509" result="ok"/> <np_number name="416977" entity="br_1" result="ok"/> </np> </np_list> </response> </out>
Hc_np_unbind_number
Команда отменяет привязку номера/номеров плана нумерации с локальным номером или исходящем бриджем.
Аналог команды в CoCon:
domain/<DOMAIN>/np/numbers/unbind
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/np_unbind_number
Код HTTP-ответа:
- 200 – в случае успеха;
- 404 – в случае ошибки.
XSD-схема XML-запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- <error> --> <xs:complexType name="npErrorType"> <xs:attribute name="cmd" type="xs:token" use="required" /> <xs:attribute name="reason" type="xs:string" use="required" /> <xs:attribute name="body" type="xs:string" use="optional" /> <!-- entity="[nonempty_string()]" --> <xs:attribute name="entity" type="xs:normalizedString" use="optional" /> </xs:complexType> <!-- </error> --> <!--Алиасы: --> <!-- np_not_exists - нет такого плана нумерации --> <!-- np_number_not_binded - нет такого номера в плане нумерации, либо он не привязан к внутреннему номеру --> <!--Бриджи: --> <!-- bridge_not_found - нет такого бриджа --> <!-- np_a_not_exists - нет такого плана нумерации --> <!-- np_not_busy - номер не привязан к бриджу --> <!-- np_number_not_exists - нет такого номера в плане нумерации --> <!-- invalid_bridge - внутренняя ошибка бриджа --> <xs:simpleType name="npNumberResultType"> <xs:restriction base="xs:token"> <xs:enumeration value="ok" /> <xs:enumeration value="np_not_exists" /> <xs:enumeration value="np_number_not_binded" /> <xs:enumeration value="bridge_not_found" /> <xs:enumeration value="np_a_not_exists" /> <xs:enumeration value="np_not_busy" /> <xs:enumeration value="np_number_not_exists" /> <xs:enumeration value="invalid_bridge" /> <xs:enumeration value="unknown_error" /> </xs:restriction> </xs:simpleType> <xs:complexType name="npNumberingPlan"> <xs:sequence> <xs:element name="np_number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:choice> <!-- Выполнить unbind для алиаса --> <xs:element name="alias"> <xs:complexType> <xs:attribute name="iface" type="xs:string" use="required"/> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> <!-- Выполнить unbind для бриджа --> <xs:element name="bridge"> <xs:complexType> <!-- Если имя бриджа неизвестно, можно указать в качестве имени бриджа any --> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> <!-- Выполнить unbind автоматически в зависимости от того к чему привязан номер плана нумерации --> <xs:element name="clean"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string" use = "required"/> </xs:complexType> <xs:complexType name="npList"> <xs:sequence> <xs:element name="np" type="npNumberingPlan" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="npResult"> <xs:sequence> <xs:element name="np_number" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="result" type="npNumberResultType"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <xs:complexType name="npResultList"> <xs:sequence> <xs:element name="np" type="npResult" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:all> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npList"/> </xs:sequence> <xs:attribute name="domain" type="xs:string"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <!-- out--> <xs:element name="out"> <xs:complexType> <xs:choice> <!--Positive case--> <xs:element name="response"> <xs:complexType> <xs:sequence> <xs:element name="np_list" type="npResultList"/> </xs:sequence> </xs:complexType> </xs:element> <!--Or error--> <xs:element name="error" type="npErrorType"/> </xs:choice> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/np_unbind_number
<?xml version="1.0"?> <in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_unbind_number.xsd"> <request domain="biysk.local"> <np_list> <np name="np_240"> <np_number name="390101"> <alias iface="edf2271ca2e7ad90" name="240509"/> </np_number> <np_number name="444000"> <alias iface="edf2271ca2872dc6" name="240505"/> </np_number> </np> </np_list> </request> </in>
Ответ:
<?xml version="1.0" encoding="UTF-8"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_np_unbind_number.xsd"> <response> <np_list> <np name="np_240"> <np_number name="390101" result="ok"/> <np_number name="444000" result="ok"/> </np> </np_list> </response> </out>