Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

client-jdiameter-config.xml of example not right #140

Open
jinlinyao opened this issue Aug 21, 2018 · 1 comment
Open

client-jdiameter-config.xml of example not right #140

jinlinyao opened this issue Aug 21, 2018 · 1 comment

Comments

@jinlinyao
Copy link

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>

@webjaym
Copy link

webjaym commented Dec 1, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants