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

Hc_sip_trunk_declare

Команда позволяет создать SIP-транк.

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

domain/<DOMAIN>/trunk/sip/declare

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

POST

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

http://host:port/commands/sip_trunk_declare

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

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

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

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <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:enumeration value="no_such_iface"/>
            <xs:enumeration value="bad_owner"/>
            <xs:enumeration value="bad_group"/>
            <xs:enumeration value="cannot_get_iface"/>
        </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>
    <xs:simpleType name = "yesnoType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="yes" />
            <xs:enumeration value="no" />
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="valueType">
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <xs:simpleType name="nonEmptyString">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="request" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="domain" type="nonEmptyString" use="required" />
                        <xs:attribute name="context" type="nonEmptyString" use="required" />
                        <xs:attribute name="group" type="nonEmptyString" use="required" />
                        <xs:attribute name="iface" type="nonEmptyString" use="required" />
                        <xs:attribute name="force" type="xs:boolean" use="optional" />
                        <xs:attribute name="auth_qop" type="yesnoType" use="optional" />
                        <xs:attribute name="login" type="xs:string" use="optional" />
                        <!-- login_as_number -->
                        <xs:attribute name="password" type="xs:string" use="optional" />
                        <!-- auto_generation -->
                        <xs:attribute name="address" type="xs:string" use="optional" />
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <xs:element name="progress">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ref" minOccurs="1" maxOccurs="1" type="valueType" />
                <xs:element name="text" minOccurs="1" maxOccurs="1" type="valueType" />
            </xs:sequence>
        </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:annotation>
                        <xs:documentation xml:lang="en">
                            Available error reasons:
                            - name_is_busy
                            - context_not_found
                            - alias_declaration_error
                            - context_validation_error
                            - invalid_user_name
                            - invalid_alias_digits
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

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

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_declare.xsd">
    <sip domain="biysk.local" force="true" listen_port="5064" port="5064" iface="ems5" ip_set="ipset1" mode="sip-proxy" context="ctx_from_local" group="ssw.gr" ip="192.168.2.15"/>
</in>

Ответ: 201

Hc_sip_trunk_set

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

Аналог команды в CoCon:
domain/<DOMAIN>/trunk/sip/set

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

POST

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

http://host:port/commands/sip_trunk_set

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

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

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

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- valueType -->
    <xs:complexType name="valueType">
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- okType-->
    <xs:complexType name="okType">
        <xs:attribute name="property" type="xs:string" use="required"/>
        <xs:attribute name="message" type="xs:string" use="optional"/>
    </xs:complexType>
    <!-- propertyKeyType -->
    <xs:simpleType name="propertyKeyType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="block"/>
            <xs:enumeration value="alarm_enable"/>
            <xs:enumeration value="call_limit"/>
            <xs:enumeration value="reg_expire_min"/>
            <xs:enumeration value="reg_expire_max"/>
            <xs:enumeration value="content_encoding">
                <xs:annotation>
                    <xs:documentation>
                        Values: gzip|none
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ip_set"/>
            <xs:enumeration value="ip"/>
            <xs:enumeration value="isup_r_ccl_send"/>
            <xs:enumeration value="listen_port"/>
            <xs:enumeration value="cause_location"/>
            <xs:enumeration value="maddr"/>
            <xs:enumeration value="mode">
                <xs:annotation>
                    <xs:documentation>
                        Values: sip-t|sip-i|sip-q|sip-proxy
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="my_from"/>
            <xs:enumeration value="options_control"/>
            <xs:enumeration value="port"/>
            <xs:enumeration value="host"/>
            <xs:enumeration value="disable_remote_port_control"/>
            <xs:enumeration value="inc_authentication"/>
            <xs:enumeration value="inc_authentication_type">
                <xs:annotation>
                    <xs:documentation>
                        Values: proxy|user
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="inc_login"/>
            <xs:enumeration value="inc_password"/>
            <xs:enumeration value="out_login"/>
            <xs:enumeration value="out_password"/>
            <xs:enumeration value="rel_to_cancel"/>
            <xs:enumeration value="req100rel"/>
            <xs:enumeration value="rfc4028_control"/>
            <xs:enumeration value="context"/>
            <xs:enumeration value="sip_transport">
                <xs:annotation>
                    <xs:documentation>
                        Values: tcp_only|udp_only|tcp_prefer|udp_prefer
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="sipdomain"/>
            <xs:enumeration value="symbol_hash_as_is"/>
            <xs:enumeration value="trunk"/>
            <xs:enumeration value="remote_network_type">
                <xs:annotation>
                    <xs:documentation>
                        Values: private|local|transit|international
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="allow_user_registration"/>
            <xs:enumeration value="dtmf_relay"/>
            <xs:enumeration value="dtmf_duration"/>
            <xs:enumeration value="referred_by_as_cgpn"/>
            <xs:enumeration value="route_by_via"/>
            <xs:enumeration value="nat_traversal"/>
            <xs:enumeration value="tel_uri_using"/>
            <xs:enumeration value="user_name"/>
            <xs:enumeration value="out_registration"/>
            <xs:enumeration value="area"/>
            <xs:enumeration value="compact_form"/>
            <xs:enumeration value="transit"/>
            <xs:enumeration value="isup_standard">
                <xs:annotation>
                    <xs:documentation>
                        Values: etsi|rus|ansi|telcordia
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="display_encoding">
                <xs:annotation>
                    <xs:documentation>
                        Values: default|win1251
                    </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>
    <!-- propertyType -->
    <xs:complexType name="propertyType">
        <xs:attribute name="name" type="propertyKeyType" use="required"/>
        <xs:attribute name="value" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- sipType -->
    <xs:complexType name="sipType">
        <xs:all>
            <xs:element name="properties">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:all>
        <xs:attribute name="domain" type="xs:string" use="required"/>
        <xs:attribute name="group" type="xs:string" use="required"/>
        <xs:attribute name="iface" type="xs:string" use="optional"/>
        <xs:attribute name="force" type="xs:boolean" use="optional" default="true"/>
    </xs:complexType>
    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="sip" type="sipType" minOccurs="0"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out-->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <xs:element name="response">
                    <xs:complexType>
                        <xs:sequence>
                            <!-- ok -->
                            <xs:element name="ok" type="okType" minOccurs="0" maxOccurs="unbounded"/>
                            <!-- error -->
                            <xs:element name="error" type="okType" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- progress -->
    <xs:element name="progress">
        <xs:complexType>
            <xs:all>
                <xs:element name="text" type="valueType"/>
                <xs:element name="ref" type="valueType"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

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

<in
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="sip_trunk_set.xsd">
    <sip group="ssw.gr" iface="ems5" domain="biysk.local">
        <properties>
            <property name="alarm_enable" value="true"/>
            <property name="options_control" value="60"/>
            <property name="mode" value="sip-t"/>
        </properties>
    </sip>
</in>

Ответ:

<?xml version="1.0"?><out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_set.xsd"><response><ok property="alarm_enable"/><ok property="options_control"/><ok property="mode"/></response></out

Может вернуть прогресс:

<?xml version="1.0"?>
<progress xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_set.xsd">
    <ref value="{md@sky,{1314,939007,922379}}"/>
    <state value="set_result"/>
    <ip value="127.0.0.1"/>
    <port value="1234"/>
</progress>

Hc_sip_trunk_show

Команда для просмотра настроек SIP-транка.

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

domain/<DOMAIN>/trunk/sip/info

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

POST

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

http://host:port/commands/sip_trunk_show

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

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

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

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- rfc4028ControlType -->
    <xs:simpleType name="rfc4028ControlType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="true" />
            <xs:enumeration value="false" />
            <xs:enumeration value="force" />
        </xs:restriction>
    </xs:simpleType>
    <!-- displayEncodingType -->
    <xs:simpleType name="displayEncodingType">
        <xs:restriction base="xs:string">
            <xs:enumeration value="default"/>
            <xs:enumeration value="win1251"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:complexType name="groupType">
        <xs:attribute name="group" type="xs:string" use="required" />
        <xs:attribute name="call_count" type="xs:integer" use="required" />
        <xs:attribute name="my_from" type="xs:string" use="optional" />
        <xs:attribute name="context" type="xs:string" use="optional" />
    </xs:complexType>
    <xs:complexType name="iface_shortType">
        <xs:attribute name="uri" type="xs:string" use="required" />
        <xs:attribute name="group" type="xs:string" use="required" />
        <xs:attribute name="isActive" type="xs:boolean" use="required" />
        <xs:attribute name="mode" type="xs:string" use="required" />
        <xs:attribute name="dynamic" type="xs:string" use="required" />
        <xs:attribute name="block" type="xs:boolean" use="required" />
        <xs:attribute name="host" type="xs:string" use="optional" />
        <xs:attribute name="port" type="xs:integer" use="optional" />
        <xs:attribute name="ip_set" type="xs:string" use="optional" />
        <xs:attribute name="listen_port" type="xs:string" use="optional" />
        <xs:attribute name="context" type="xs:string" use="optional" />
    </xs:complexType>
    <xs:complexType name="ifaceType">
        <xs:attribute name="uri" type="xs:string" use="required" />
        <xs:attribute name="group" type="xs:string" use="required" />
        <xs:attribute name="isActive" type="xs:boolean" use="required" />
        <xs:attribute name="mode" type="xs:string" use="required" />
        <xs:attribute name="dynamic" type="xs:string" use="required" />
        <xs:attribute name="block" type="xs:boolean" use="required" />
        <!-- optional -->
        <xs:attribute name="my_from" type="xs:string" use="optional" />
        <xs:attribute name="context" type="xs:string" use="optional" />
        <xs:attribute name="alarm_enable" type="xs:boolean" use="optional" />
        <xs:attribute name="host" type="xs:string" use="optional" />
        <xs:attribute name="port" type="xs:integer" use="optional" />
        <xs:attribute name="ip_set" type="xs:string" use="optional" />
        <xs:attribute name="listen_port" type="xs:string" use="optional" />
        <xs:attribute name="auth_type" type="xs:string" use="optional" />
        <xs:attribute name="rel_to_cancel" type="xs:boolean" use="optional" />
        <xs:attribute name="isup_r_ccl_send" type="xs:boolean" use="optional" />
        <xs:attribute name="req100rel" type="xs:boolean" use="optional" />
        <xs:attribute name="symbol_hash_as_is" type="xs:boolean" use="optional" />
        <xs:attribute name="disable_remote_port_control" type="xs:boolean" use="optional" />
        <xs:attribute name="inc_authentication" type="xs:boolean" use="optional" />
        <xs:attribute name="rfc4028_control" type="rfc4028ControlType" use="optional" />
        <xs:attribute name="cause_location" type="xs:string" use="optional" />
        <xs:attribute name="inc_authentication_type" type="xs:string" use="optional" />
        <xs:attribute name="content_encoding" type="xs:string" use="optional" />
        <xs:attribute name="sip_transport" type="xs:string" use="optional" />
        <xs:attribute name="sip_i_support" type="xs:boolean" use="optional" />
        <xs:attribute name="options_control" type="xs:integer" use="optional" />
        <xs:attribute name="call_count" type="xs:integer" use="optional" />
        <xs:attribute name="reg_expire_min" type="xs:integer" use="optional" />
        <xs:attribute name="reg_expire_max" type="xs:integer" use="optional" />
        <xs:attribute name="trunk" type="xs:string" use="optional" />
        <xs:attribute name="inc_login" type="xs:string" use="optional" />
        <xs:attribute name="inc_password" type="xs:string" use="optional" />
        <xs:attribute name="out_login" type="xs:string" use="optional" />
        <xs:attribute name="out_password" type="xs:string" use="optional" />
        <xs:attribute name="maddr" type="xs:string" use="optional" />
        <xs:attribute name="sipdomain" type="xs:string" use="optional" />
        <xs:attribute name="iface" type="xs:string" use="optional" />
        <xs:attribute name="display_encoding" type="displayEncodingType" use="optional"/>
    </xs:complexType>
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="sip" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="domain" type="xs:string" use="required" />
                        <xs:attribute name="group" type="xs:string" use="required" />
                        <xs:attribute name="id" type="xs:string" use="optional" />
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <xs:element name="out">
        <xs:complexType>
            <xs:choice minOccurs="0">
                <xs:element name="group_info" type="groupType" maxOccurs="unbounded"/>
                <xs:element name="iface_info" type="ifaceType" maxOccurs="unbounded"/>
                <xs:element name="iface_short_info" type="iface_shortType" maxOccurs="unbounded"/>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

Запрос:

<?xml version="1.0" encoding="UTF-8"?>
<in xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_show.xsd">
    <sip domain="biysk.local" group="smg.gr" id="smg-4" />
</in>

Ответ:

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_show.xsd">
    <iface_info display_encoding="default" context="ctx_from_ewsd" group="smg.gr" rfc4028_control="force" symbol_hash_as_is="false" trunk="biysk.local.smg.gr.trunk.autoname" alarm_enable="false" my_from="biysk.local" sip_transport="udp_only" sipdomain="use-address" cause_location="default" rel_to_cancel="false" options_control="0" maddr="none" content_encoding="none" out_password="none" out_login="none" inc_password="none" inc_login="none" inc_authentication_type="user" inc_authentication="none" block="false" listen_port="5061" ip_set="ipset1" port="5061" host="192.168.2.8" mode="sip-t" dynamic="false" req100rel="true" uri="smg-4" isActive="true"/>
</out>

Hc_sip_trunk_remove

Команда позволяет удалить SIP-транк.

Аналог команды в CoCon:
domain/<DOMAIN>/trunk/sip/remove

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

POST

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

http://host:port/commands/sip_trunk_remove

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

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

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

XSD-схема XML-файла c ответом:

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="sip" minOccurs="0" maxOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="domain" type="xs:string" use="required" />
                        <xs:attribute name="group" type="xs:string" use="required" />
                        <xs:attribute name="force" type="xs:boolean" use="optional" />
                        <xs:attribute name="id" type="xs:string" use="optional" />
                    </xs:complexType>
                </xs:element>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

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

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_remove.xsd">
    <sip domain="biysk.local" group="ssw.gr" id="ems5" />
</in>

Ответ с требованием подтверждения:

status: 300

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="modal.xsd">
    <modal ref="md1@ecss1:967" from="remove" passwd="false" results="">
        <header template="Remove interfaces. Undo will be impossible"/>
        <prompt template="continue"/>
        <error template="You should enter 'yes' or 'no'"/>
    </modal>
</out>

Запрос безусловного удаления:

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_remove.xsd">
    <sip domain="biysk.local" group="ssw.gr" id="ems5" force="true" />
</in>

Ответ: 204

Hc_sip_trunk_check

Команда для проверки доступности SIP-транка.

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

domain/<DOMAIN>/trunk/sip/check

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

POST

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

http://host:port/commands/sip_trunk_check

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

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

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

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- trunkType -->
    <xs:complexType name="trunkType">
        <xs:attribute name="accessible" type="xs:boolean" use="required"/>
        <xs:attribute name="iface" type="xs:string" use="required"/>
        <xs:attribute name="info" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- trunksType -->
    <xs:complexType name="trunksType">
        <xs:sequence>
            <xs:element name="trunk" type="trunkType" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <!-- requestType -->
    <xs:complexType name="requestType">
        <xs:sequence>
            <xs:element name="trunk" minOccurs="1" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="group" type="xs:string" use="required"/>
                    <xs:attribute name="iface" type="xs:string" use="required"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="domain" type="xs:string" use="required"/>
    </xs:complexType>
    <!-- responseType -->
    <xs:complexType name="responseType">
        <xs:all>
            <xs:element name="trunks" type="trunksType" minOccurs="0" maxOccurs="1"/>
        </xs:all>
    </xs:complexType>
    <!-- in -->
    <xs:element name="in">
        <xs:complexType>
            <xs:all>
                <xs:element name="request" type="requestType" minOccurs="1" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
    <!-- out -->
    <xs:element name="out">
        <xs:complexType>
            <xs:all>
                <xs:element name="response" type="responseType" minOccurs="0" maxOccurs="1"/>
            </xs:all>
        </xs:complexType>
    </xs:element>
</xs:schema>

Пример:

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

<?xml version="1.0" encoding="UTF-8"?>
<in
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_check.xsd">
    <request domain="biysk.local">
        <trunk group="smg.gr" iface="smg-4" />
        <trunk group="sbc.gr" iface="to_aster" />
        <trunk group="ssw.gr" iface="ems1" />
    </request>
</in>

Ответ: 200

<?xml version="1.0"?>
<out
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="sip_trunk_check.xsd">
    <response>
        <trunks>
            <trunk iface="smg-4" accessible="true" info="OPTIONS to <sip:192.168.2.8>: 200 OK, cseq: 946569 OPTIONS"/>
            <trunk iface="to_aster" accessible="true" info="OPTIONS to <sip:192.168.2.6>: 200 OK, cseq: 91955 OPTIONS"/>
            <trunk iface="ems1" accessible="false" info="Response timeout is expired"/>
        </trunks>
    </response>
</out>
  • Нет меток