freeswitch/libs/unimrcp/conf/unimrcpserver.xsd

267 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:element name="unimrcpserver">
<xsd:annotation>
<xsd:documentation>UniMRCP server document</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="properties" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Generic properties</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ip" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="type" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ext-ip" minOccurs="0">
<xsd:complexType>
<xsd:attribute name="type" type="xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="components" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Common components</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="resource-factory" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Factory of MRCP resources</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="resource">
<xsd:complexType>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="sip-uas" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>SIP signaling agent</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="sip-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="sip-ext-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="sip-port" type="xsd:short"/>
<xsd:element name="sip-transport" type="xsd:string"/>
<xsd:element name="force-destination" type="xsd:boolean" default="false" minOccurs="0"/>
<xsd:element name="ua-name" type="xsd:string" minOccurs="0"/>
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0"/>
<xsd:element name="sip-t1" type="xsd:long" minOccurs="0" />
<xsd:element name="sip-t2" type="xsd:long" minOccurs="0" />
<xsd:element name="sip-t4" type="xsd:long" minOccurs="0" />
<xsd:element name="sip-t1x64" type="xsd:long" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="rtsp-uas" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>RTSP signaling agent</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="rtsp-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="rtsp-ext-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="rtsp-port" type="xsd:string"/>
<xsd:element name="resource-map">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="param" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0"/>
<xsd:element name="sdp-origin" type="xsd:string" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="type" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="mrcpv2-uas" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>MRCPv2 connection agent</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="mrcp-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="mrcp-port" type="xsd:string"/>
<xsd:element name="max-connection-count" type="xsd:short" minOccurs="0"/>
<xsd:element name="force-new-connection" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="rx-buffer-size" type="xsd:long" minOccurs="0"/>
<xsd:element name="tx-buffer-size" type="xsd:long" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="media-engine" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Media processing engine</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="realtime-rate" type="xsd:short" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="rtp-factory" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Factory of RTP terminations</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="rtp-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="rtp-ext-ip" type="xsd:string" minOccurs="0"/>
<xsd:element name="rtp-port-min" type="xsd:short"/>
<xsd:element name="rtp-port-max" type="xsd:short"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="plugin-factory" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Factory of plugins (MRCP engines)</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="engine">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="max-channel-count" minOccurs="0"/>
<xsd:element name="param" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="settings" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Settings</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="rtp-settings" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>RTP settings</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="jitter-buffer" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="playout-delay" type="xsd:long"/>
<xsd:element name="max-playout-delay" type="xsd:long"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ptime" type="xsd:long" minOccurs="0"/>
<xsd:element name="codecs">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="own-preference" type="xsd:boolean" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="rtcp" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="rtcp-bye" type="xsd:int"/>
<xsd:element name="tx-interval" type="xsd:long"/>
<xsd:element name="rx-resolution" type="xsd:long"/>
</xsd:sequence>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="profiles" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Profiles</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="mrcpv2-profile" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>MRCPv2 profile</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="sip-uas" type="xsd:string"/>
<xsd:element name="mrcpv2-uas" type="xsd:string"/>
<xsd:element name="media-engine" type="xsd:string"/>
<xsd:element name="rtp-factory" type="xsd:string"/>
<xsd:element name="rtp-settings" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="mrcpv1-profile" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>MRCPv1 profile</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="rtsp-uas" type="xsd:string"/>
<xsd:element name="media-engine" type="xsd:string"/>
<xsd:element name="rtp-factory" type="xsd:string"/>
<xsd:element name="rtp-settings" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:string" use="required"/>
<xsd:attribute name="enable" type="xsd:boolean" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string" use="required"/>
<xsd:attribute name="subfolder" type="xsd:string" use="optional"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>