RestComm/jdiameter

client-jdiameter-config.xml of example not right

Opened this issue · 1 comments

right client.xsd:

<xsi:schema
xmlns:xsi="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.jdiameter.org/jdiameter-client"
xmlns="http://www.jdiameter.org/jdiameter-client"
elementFormDefault="qualified">

<xsi:element name="Configuration">
    <xsi:annotation>
        <xsi:documentation>JDiameter Client configuration</xsi:documentation>
    </xsi:annotation>
    <xsi:complexType>
        <xsi:sequence>
            <xsi:element ref="LocalPeer" minOccurs="1" maxOccurs="1"/>
            <xsi:element ref="Parameters" minOccurs="1" maxOccurs="1"/>
            <xsi:element ref="Network" minOccurs="1" maxOccurs="1"/>
            <xsi:element ref="Security" minOccurs="0" maxOccurs="1"/>
            <xsi:element ref="Extensions" minOccurs="0" maxOccurs="1"/>
        </xsi:sequence>
    </xsi:complexType>
</xsi:element>

<xsi:element name="LocalPeer" type="LocalPeerType">
    <xsi:annotation>
        <xsi:documentation>Local peer parameters</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="LocalPeerType">
    <xsi:sequence>
        <xsi:element name="URI" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Local peer uri.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:string" use="required" />
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="IPAddress" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Local peer ip address.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:string" use="required" />
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="Realm" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Local peer realm.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:string" use="required" />
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="VendorID" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Local peer vendor identificator.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:integer" use="required" />
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="ProductName" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Product name of stack.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:string" use="required" />
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="FirmwareRevision" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Firmware revision of stack.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:integer" use="required" />
            </xsi:complexType>
        </xsi:element>
        <xsi:element ref="Applications" minOccurs="0" maxOccurs="1" />
    </xsi:sequence>
    <xsi:attribute name="security_ref" type="xsi:string" />
</xsi:complexType>

<xsi:element name="Applications" type="ApplicationsType">
    <xsi:annotation>
        <xsi:documentation>Local peer default applications</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="ApplicationsType">
    <xsi:sequence>
        <xsi:element ref="ApplicationID" minOccurs="0" maxOccurs="unbounded"/>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="ApplicationID" type="ApplicationIDType">
    <xsi:annotation>
        <xsi:documentation>ApplicationID of application</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="ApplicationIDType">
    <xsi:sequence>
        <xsi:element name="VendorId" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Vendor id.</xsi:documentation>
            </xsi:annotation>
             <xsi:complexType>
                <xsi:attribute name="value" type="xsi:integer" use="required"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="AuthApplId" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Authentication application id.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="value" type="xsi:integer" use="required"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="AcctApplId" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Accounting application id.</xsi:documentation>
            </xsi:annotation>
             <xsi:complexType>
                <xsi:attribute name="value" type="xsi:integer" use="required"/>
            </xsi:complexType>
        </xsi:element>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="Parameters" type="ParametersType">
    <xsi:annotation>
        <xsi:documentation>Stack parameters</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="ParametersType">
    <xsi:sequence>
        <xsi:element name="UseUriAsFqdn" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Set Origin-Host-Name Avp as Uri into CER message. Default value is false</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:boolean" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="QueueSize" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>QueueSize of fsm event queue</xsi:documentation>
            </xsi:annotation>
             <xsi:complexType>
                <xsi:attribute name="value" type="xsi:integer" use="required"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="MessageTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Message time out in milliseconds.</xsi:documentation>
            </xsi:annotation>
             <xsi:complexType>
                <xsi:attribute name="value" type="xsi:long" use="required"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="SessionTimeOut" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Session idle time out in milliseconds.</xsi:documentation>
            </xsi:annotation>
             <xsi:complexType>
                <xsi:attribute name="value" type="xsi:long" use="required"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="StopTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Default stop time out in milliseconds.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:long" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="CeaTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>CEA command time out in milliseconds.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:long" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="IacTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Value of inactive time in milliseconds.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:long"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="DwaTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>DWA command time out in milliseconds.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:long" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="DpaTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>DPA command time out in milliseconds.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:long" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="RecTimeOut" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Peer reconnect pause in milliseconds.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:long" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="PeerFSMThreadCount" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Peer FSM Thread Count.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:integer" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="Statistics" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Statistics configuration</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="pause" type="xsi:long" use="required"/>
                <xsi:attribute name="delay" type="xsi:long" use="required"/>
                <xsi:attribute name="enabled" type="xsi:boolean" use="required"/>
                <xsi:attribute name="active_records" type="xsi:string" use="optional"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element ref="Concurrent" minOccurs="0" maxOccurs="1"/>
        <xsi:element name="Dictionary" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Dictionary and Validator configuration</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="class" type="xsi:string" use="optional"/>
                <xsi:attribute name="enabled" type="xsi:string" use="optional"/>
                <xsi:attribute name="sendLevel" type="xsi:string" use="optional"/>
                <xsi:attribute name="receiveLevel" type="xsi:string" use="optional"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="RequestTable" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Router Request Table cache configuration</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="size" type="xsi:integer" use="required"/>
                <xsi:attribute name="clear_size" type="xsi:integer" use="required"/>
            </xsi:complexType>
        </xsi:element>
        <xsi:element name="Connection" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Sets java class name of connection used for transport, by default its set to 'org.jdiameter.client.impl.transport.tcp.TCPClientConnection'</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="value" type="xsi:string" use="required"/>
           </xsi:complexType>
        </xsi:element>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="Concurrent" type="ConcurrentType">
    <xsi:annotation>
        <xsi:documentation>Parameters of concurrent part of stack</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="ConcurrentType">
    <xsi:sequence>
        <xsi:element ref="Entity" minOccurs="0" maxOccurs="unbounded"/>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="Entity" type="EntityType">
    <xsi:annotation>
        <xsi:documentation>Concurrent entity</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="EntityType">
    <xsi:attribute name="name" type="xsi:string" use="required"/>
    <xsi:attribute name="description" type="xsi:string" use="optional"/>
    <xsi:attribute name="size" type="xsi:int" use="required"/>
</xsi:complexType>

<xsi:element name="Network" type="NetworkType">
    <xsi:annotation>
        <xsi:documentation>Network descriptions</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="NetworkType">
    <xsi:sequence>
        <xsi:element ref="Peers" minOccurs="1" maxOccurs="1"/>
        <xsi:element ref="Realms" minOccurs="1" maxOccurs="1"/>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="Peers" type="PeersType">
    <xsi:annotation>
        <xsi:documentation>Network peers</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="PeersType">
    <xsi:sequence>
        <xsi:element name="Peer" minOccurs="1" maxOccurs="unbounded">
            <xsi:annotation>
                <xsi:documentation>Peer description.</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
               <xsi:attribute name="name" type="xsi:string" use="required"/>
               <xsi:attribute name="rating" type="xsi:integer" use="required"/>
               <xsi:attribute name="ip" type="xsi:string" use="optional"/>
               <xsi:attribute name="portRange" type="xsi:string" use="optional"/>
               <!-- must match SecurityData.name -->
               <xsi:attribute name="security_ref" type="xsi:string" use="optional"/>
           </xsi:complexType>
        </xsi:element>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="Realms" type="RealmsType">
    <xsi:annotation>
        <xsi:documentation>Realms description</xsi:documentation>
    </xsi:annotation>
</xsi:element>

 <xsi:complexType name="RealmsType">
    <xsi:sequence>
        <xsi:element name="Realm" minOccurs="1" maxOccurs="unbounded">
            <xsi:annotation>
                <xsi:documentation>Realm description</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:sequence>
                    <xsi:element ref="ApplicationID" />
                    <xsi:element name="Agent" type="AgentType" maxOccurs="1" minOccurs="0"/>
                </xsi:sequence>
               <xsi:attribute name="name"  type="xsi:string" use="required"/>
               <xsi:attribute name="peers" type="xsi:string" use="required"/>
               <xsi:attribute name="local_action" type="xsi:string" use="required"/>
               <xsi:attribute name="dynamic"  type="xsi:boolean" use="required"/>
               <xsi:attribute name="exp_time" type="xsi:long" use="required"/>
           </xsi:complexType>
        </xsi:element>
    </xsi:sequence>
</xsi:complexType>
<xsi:element name="Security" type="SecurityType">
    <xsi:annotation>
        <xsi:documentation>Security descriptions</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="SecurityType">
    <xsi:sequence>
        <xsi:element ref="SecurityData" minOccurs="1" maxOccurs="unbounded"/>
    </xsi:sequence>
</xsi:complexType>

<xsi:element name="SecurityData" type="SecurityDataType">
    <xsi:annotation>
        <xsi:documentation>SSL description</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="SecurityDataType">
    <xsi:sequence>
        <xsi:element name="CipherSuites" minOccurs="0" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Cipher suites separated by ','</xsi:documentation>
            </xsi:annotation>
        </xsi:element>
        <xsi:element name="KeyData" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Key description</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="manager" type="xsi:string" use="required"/>
                <xsi:attribute name="store" type="xsi:string" use="required"/>
                <xsi:attribute name="file" type="xsi:string" use="required"/>
                <xsi:attribute name="pwd" type="xsi:string" use="required"/>
           </xsi:complexType>
        </xsi:element>
        <xsi:element name="TrustData" minOccurs="1" maxOccurs="1">
            <xsi:annotation>
                <xsi:documentation>Trust description</xsi:documentation>
            </xsi:annotation>
            <xsi:complexType>
                <xsi:attribute name="manager" type="xsi:string" use="required"/>
                <xsi:attribute name="store" type="xsi:string" use="required"/>
                <xsi:attribute name="file" type="xsi:string" use="required"/>
                <xsi:attribute name="pwd" type="xsi:string" use="required"/>
           </xsi:complexType>
        </xsi:element>
    </xsi:sequence>
    <xsi:attribute name="name" type="xsi:string" use="required"/>
    <xsi:attribute name="protocol" type="xsi:string" use="required"/>
    <xsi:attribute name="enable_session_creation" type="xsi:boolean" use="required"/>
    <xsi:attribute name="use_client_mode" type="xsi:boolean" use="required"/>
</xsi:complexType>

<xsi:element name="Extensions" type="xsi:anyType">
    <xsi:annotation>
        <xsi:documentation>Extension parameters</xsi:documentation>
    </xsi:annotation>
</xsi:element>

<xsi:complexType name="AgentType">
    <xsi:sequence>
        <xsi:element
            name="Properties"
            type="PropertiesType" maxOccurs="1" minOccurs="1">
        </xsi:element>
    </xsi:sequence>
</xsi:complexType>

<xsi:complexType name="PropertiesType">
    <xsi:sequence>
        <xsi:element
            name="Property"
            type="PropertyType" maxOccurs="unbounded" minOccurs="0">
        </xsi:element>
    </xsi:sequence>
</xsi:complexType>

<xsi:complexType name="PropertyType">
    <xsi:attribute
        name="name"
        type="xsi:string">
    </xsi:attribute>
    <xsi:attribute
        name="value"
        type="xsi:string">
    </xsi:attribute>
</xsi:complexType>

</xsi:schema>

yes - that's correct
. In example, actually client-config.xml is server-config.xml .
You can see correct client-xml-config values as https://github.com/RestComm/jdiameter/blob/master/core/jdiameter/impl/src/test/resources/jdiameter-weightedleastconnections-config.xml