Skip to content

Charging-Server-Simulator #181

@Darknithorynque

Description

@Darknithorynque

Hi, I am trying to run Charging Server Simulator project under the examples. I tried to create my own client logic for days then i give up and tried to run this server with Seagull but always get "unable to open log file" or similar issues with configs. I just want to run and check in wireshark. If u have an example client or config files for Seagull pls share with me. Here my config files

Client Config xml :
`

<define entity="transport"
        name="trans-1"
        file="libtrans_ip.so"
        create_function="create_cipio_instance"
        delete_function="delete_cipio_instance"
        init-args="type=tcp">
</define>

<define entity="channel"
        name="channel-1"
        protocol="diameter-v1"
        transport="trans-1"
        open-args="mode=client;dest=127.0.0.1:3868">
</define>

<!-- Set traffic parameters as needed -->
<define entity="traffic-param" name="call-rate" value="5"></define>
<define entity="traffic-param" name="display-period" value="1"></define>
<define entity="traffic-param" name="log-stat-period" value="1"></define>
<define entity="traffic-param" name="log-stat-file" value="./logs/client-stat.csv"></define>
<define entity="traffic-param" name="call-timeout-ms" value="60000"></define>
<define entity="traffic-param" name="display-scenario-stat" value="true"></define>
<define entity="traffic-param" name="display-protocol-stat" value="true"></define>
<define entity="traffic-param" name="log-protocol-stat-period" value="5"></define>
<define entity="traffic-param" name="log-protocol-stat-name" value="all"></define>
<define entity="traffic-param" name="log-protocol-stat-file" value="./logs/client-protocol-stat.csv"></define>

<define entity="traffic-param" name="max-send" value="1440000"></define>
<define entity="traffic-param" name="max-receive" value="1440000"></define>
<define entity="traffic-param" name="max-simultaneous-calls" value="5000"></define>
<define entity="traffic-param" name="select-timeout-ms" value="1000"></define>
<define entity="traffic-param" name="number-calls" value="10000000"></define>
<!-- Optional: External data for scenarios -->
<!-- <define entity="traffic-param" name="external-data-file" value="../scenario/msisdn.csv"></define> -->
<!-- <define entity="traffic-param" name="external-data-select" value="random"></define> -->
<!-- <define entity="traffic-param" name="model-traffic-select" value="poisson"></define> -->

`

ccr-cca.client.init.xml (Scenario) ->
<?xml version="1.0" encoding="ISO-8859-1"?> <scenario> <counter> <counterdef name="HbH-counter" init="1000"></counterdef> </counter> <init> <send channel="channel-1"> <command name="CER"> <avp name="Origin-Host" value="client.mobicents.org"></avp> <avp name="Origin-Realm" value="mobicents.org"></avp> <avp name="Host-IP-Address" value="0x00017F000001"></avp> <avp name="Vendor-Id" value="0"></avp> <avp name="Product-Name" value="Seagull"></avp> <avp name="Origin-State-Id" value="14"></avp> <avp name="Supported-Vendor-Id" value="10415"></avp> <avp name="Auth-Application-Id" value="4"></avp> </command> </send> <receive channel="channel-1"> <command name="CEA"></command> </receive> </init> <traffic> <!-- Minimal Diameter traffic (one CCR/CCA exchange) --> <send channel="channel-1"> <command name="CCR"> <avp name="Session-Id" value="client.mobicents.org;1000"></avp> <avp name="Origin-Host" value="client.mobicents.org"></avp> <avp name="Origin-Realm" value="mobicents.org"></avp> <avp name="Destination-Realm" value="mobicents.org"></avp> <avp name="Destination-Host" value="mob-chaser"></avp> <avp name="Auth-Application-Id" value="4"></avp> <avp name="Service-Context-Id" value="mob.data@mvno.pt"></avp> <avp name="CC-Request-Type" value="1"></avp> <avp name="CC-Request-Number" value="0"></avp> <avp name="Subscription-Id"> <avp name="Subscription-Id-Type" value="0"></avp> <avp name="Subscription-Id-Data" value="+351910123456"></avp> </avp> <avp name="Service-Identifier" value="17"></avp> </command> </send> <receive channel="channel-1"> <command name="CCA"></command> </receive> </traffic> </scenario>

And the base_cc.xml ->

`<!--

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

(c)Copyright 2006 Appium AB

-->

<types>
    <!-- Types defined for the AVP   -->
    <typedef name="Integer32" type="signed" size="4" unit="octet"></typedef>
    <typedef name="Unsigned32" type="number" size="4" unit="octet"></typedef>
    <typedef name="Integer64" type="signed64" size="8" unit="octet"></typedef>
    <typedef name="Unsigned64" type="number64" size="8" unit="octet"></typedef>
    <typedef name="OctetString" type="string" size="4" unit="octet"></typedef>
    <typedef name="Grouped" type="grouped"></typedef>
</types>

<header name="command" length="msg-length" type="cmd-code">
    <fielddef name="protocol-version" size="1" unit="octet"></fielddef>
    <fielddef name="msg-length" size="3" unit="octet"></fielddef>
    <fielddef name="flags" size="1" unit="octet"></fielddef>
    <fielddef name="cmd-code" size="3" unit="octet"></fielddef>
    <fielddef name="application-id" size="4" unit="octet"></fielddef>
    <fielddef name="HbH-id" size="4" unit="octet"></fielddef>
    <fielddef name="EtE-id" size="4" unit="octet"></fielddef>
</header>

<body>
    <header name="avp" length="avp-length" type="avp-code">
        <fielddef name="avp-code" size="4" unit="octet"></fielddef>
        <fielddef name="flags" size="1" unit="octet"></fielddef>
        <fielddef name="avp-length" size="3" unit="octet"></fielddef>
        <optional>
            <fielddef name="Vendor-ID" size="4" unit="octet"
                      condition="mask" field="flags" mask="128">
            </fielddef>
        </optional>
    </header>
</body>

<dictionary>
    <!-- AVP definitions -->
    <avp>
        <!-- Diameter Base (RFC 3588) AVPs -->
        <define name="Acct-Interim-Interval" type="Unsigned32">
            <setfield name="avp-code" value="85"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Accounting-Realtime-Required" type="Unsigned32">
            <setfield name="avp-code" value="483"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Acct-Multi-Session-Id" type="OctetString">
            <setfield name="avp-code" value="50"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Accounting-Record-Number" type="Unsigned32">
            <setfield name="avp-code" value="485"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Accounting-Record-Type" type="OctetString">
            <setfield name="avp-code" value="480"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Accounting-Session-Id" type="OctetString">
            <setfield name="avp-code" value="44"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Accounting-Sub-Session-Id" type="Unsigned64">
            <setfield name="avp-code" value="287"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Acct-Application-Id" type="Unsigned32">
            <setfield name="avp-code" value="259"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Auth-Application-Id" type="Unsigned32">
            <setfield name="avp-code" value="258"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Auth-Request-Type" type="Unsigned32">
            <setfield name="avp-code" value="274"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Authorization-Lifetime" type="Unsigned32">
            <setfield name="avp-code" value="291"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Auth-Grace-Period" type="Unsigned32">
            <setfield name="avp-code" value="276"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Auth-Session-State" type="Unsigned32">
            <setfield name="avp-code" value="277"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Re-Auth-Request-Type" type="Unsigned32">
            <setfield name="avp-code" value="285"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Class" type="OctetString">
            <setfield name="avp-code" value="25"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Destination-Host" type="OctetString">
            <setfield name="avp-code" value="293"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Destination-Realm" type="OctetString">
            <setfield name="avp-code" value="283"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Disconnect-Cause" type="Unsigned32">
            <setfield name="avp-code" value="273"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="E2E-Sequence" type="Grouped">
            <setfield name="avp-code" value="300"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Error-Message" type="OctetString">
            <setfield name="avp-code" value="281"></setfield>
            <setfield name="flags" value="0"></setfield>
        </define>
        <define name="Error-Reporting-Host" type="OctetString">
            <setfield name="avp-code" value="294"></setfield>
            <setfield name="flags" value="0"></setfield>
        </define>
        <define name="Event-Timestamp" type="OctetString">
            <setfield name="avp-code" value="55"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Experimental-Result" type="Grouped">
            <setfield name="avp-code" value="297"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Experimental-Result-Code" type="Unsigned32">
            <setfield name="avp-code" value="298"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Failed-AVP" type="Grouped">
            <setfield name="avp-code" value="279"></setfield>
            <setfield name="flags" value="0"></setfield>
        </define>
        <define name="Firmware-Revision" type="Unsigned32">
            <setfield name="avp-code" value="267"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Host-IP-Address" type="OctetString">
            <setfield name="avp-code" value="257"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Inband-Security-Id" type="Unsigned32">
            <setfield name="avp-code" value="299"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Multi-Round-Time-Out" type="Unsigned32">
            <setfield name="avp-code" value="272"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Origin-Host" type="OctetString">
            <setfield name="avp-code" value="264"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Origin-Realm" type="OctetString">
            <setfield name="avp-code" value="296"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Origin-State-Id" type="Unsigned32">
            <setfield name="avp-code" value="278"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Product-Name" type="OctetString">
            <setfield name="avp-code" value="269"></setfield>
            <setfield name="flags" value="0"></setfield>
        </define>
        <define name="Proxy-Host" type="OctetString">
            <setfield name="avp-code" value="280"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Proxy-Info" type="Grouped">
            <setfield name="avp-code" value="284"></setfield>
            <setfield name="flags" value="0"></setfield>
        </define>
        <define name="Proxy-State" type="OctetString">
            <setfield name="avp-code" value="33"></setfield>
            <setfield name="flags" value="0"></setfield>
        </define>
        <define name="Redirect-Host" type="OctetString">
            <setfield name="avp-code" value="292"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Redirect-Host-Usage" type="Unsigned32">
            <setfield name="avp-code" value="261"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Redirect-Max-Cache-Time" type="Unsigned32">
            <setfield name="avp-code" value="262"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Result-Code" type="Unsigned32">
            <setfield name="avp-code" value="268"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Route-Record" type="OctetString">
            <setfield name="avp-code" value="282"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Session-Id" type="OctetString">
            <setfield name="avp-code" value="263"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Session-Timeout" type="Unsigned32">
            <setfield name="avp-code" value="27"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Session-Binding" type="Unsigned32">
            <setfield name="avp-code" value="270"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Session-Server-Failover" type="Unsigned32">
            <setfield name="avp-code" value="271"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Supported-Vendor-Id" type="Unsigned32">
            <setfield name="avp-code" value="265"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Termination-Cause" type="Unsigned32">
            <setfield name="avp-code" value="295"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="User-Name" type="OctetString">
            <setfield name="avp-code" value="1"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Vendor-Id" type="Unsigned32">
            <setfield name="avp-code" value="266"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Vendor-Specific-Application-Id" type="Grouped">
            <setfield name="avp-code" value="260"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Filter-Id" type="OctetString">
            <setfield name="avp-code" value="11"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Service-Information" type="Grouped">
            <setfield name="avp-code" value="873"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>

        <!-- Diameter RFC 4006 AVPs -->
        <define name="Service-Context-Id" type="OctetString">
            <setfield name="avp-code" value="461"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Request-Type" type="Unsigned32">
            <setfield name="avp-code" value="416"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Request-Number" type="Unsigned32">
            <setfield name="avp-code" value="415"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Session Failover" type="Unsigned32">
            <setfield name="avp-code" value="418"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Requested-Action" type="Unsigned32">
            <setfield name="avp-code" value="436"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Time" type="Unsigned32">
            <setfield name="avp-code" value="420"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Total-Octets" type="Unsigned64">
            <setfield name="avp-code" value="421"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Input-Octets" type="Unsigned64">
            <setfield name="avp-code" value="412"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Output-Octets" type="Unsigned64">
            <setfield name="avp-code" value="414"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Service-Specific-Units" type="Unsigned64">
            <setfield name="avp-code" value="417"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Multiple-Services-Indicator" type="Unsigned32">
            <setfield name="avp-code" value="455"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Multiple-Services-Credit-Control" type="Grouped">
            <setfield name="avp-code" value="456"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Validity-Time" type="Unsigned32">
            <setfield name="avp-code" value="448"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Granted-Service-Unit" type="Grouped">
            <setfield name="avp-code" value="431"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Requested-Service-Unit" type="Grouped">
            <setfield name="avp-code" value="437"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Used-Service-Unit" type="Grouped">
            <setfield name="avp-code" value="446"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="G-S-U-Pool-Reference" type="Grouped">
            <setfield name="avp-code" value="457"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="G-S-U-Pool-Identifier" type="Unsigned32">
            <setfield name="avp-code" value="453"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Unit-Value" type="Grouped">
            <setfield name="avp-code" value="445"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Value-Digits" type="Integer64">
            <setfield name="avp-code" value="447"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Exponent" type="Integer32">
            <setfield name="avp-code" value="429"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Currency-Code" type="Unsigned32">
            <setfield name="avp-code" value="425"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Cost-Unit" type="OctetString">
            <setfield name="avp-code" value="424"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Final-Unit-Indication" type="Grouped">
            <setfield name="avp-code" value="430"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Final-Unit-Action" type="Unsigned32">
            <setfield name="avp-code" value="449"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="PS-Furnish-Charging-Information" type="Grouped">
            <setfield name="avp-code" value="865"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Reporting-Reason" type="Unsigned32">
            <setfield name="avp-code" value="872"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Tariff-Change-Usage" type="Unsigned32">
            <setfield name="avp-code" value="452"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Service-Identifier" type="Unsigned32">
            <setfield name="avp-code" value="439"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Rating-Group" type="Unsigned32">
            <setfield name="avp-code" value="432"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Trigger-Type" type="Unsigned32">
            <setfield name="avp-code" value="870"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Time-Quota-Threshold" type="Unsigned32">
            <setfield name="avp-code" value="868"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Volume-Quota-Threshold" type="Unsigned32">
            <setfield name="avp-code" value="869"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Unit-Quota-Threshold" type="Unsigned32">
            <setfield name="avp-code" value="1226"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Quota-Holding-Time" type="Unsigned32">
            <setfield name="avp-code" value="871"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Quota-Consumption-Time" type="Unsigned32">
            <setfield name="avp-code" value="881"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="User-Equipment-Info" type="Grouped">
            <setfield name="avp-code" value="458"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="User-Equipment-Info-Type" type="Unsigned32">
            <setfield name="avp-code" value="459"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="User-Equipment-Info-Value" type="OctetString">
            <setfield name="avp-code" value="460"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="CC-Session-Failover" type="OctetString">
            <setfield name="avp-code" value="418"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Credit-Control-Failure-Handling" type="OctetString">
            <setfield name="avp-code" value="427"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Cost-Information" type="Grouped">
            <setfield name="avp-code" value="423"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Subscription-Id" type="Grouped">
            <setfield name="avp-code" value="443"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Subscription-Id-Type" type="Unsigned32">
            <setfield name="avp-code" value="450"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
        <define name="Subscription-Id-Data" type="OctetString">
            <setfield name="avp-code" value="444"></setfield>
            <setfield name="flags" value="64"></setfield>
        </define>
    </avp>

    <!-- COMMAND definitions -->
    <command session-id="Session-Id" out-of-session-id="HbH-id">
        <!-- Diameter Base (RFC 3588) commands -->
        <define name="CER">
            <!-- It's a request, R bit is set -->
            <setfield name="flags" value="128"></setfield>
            <setfield name="cmd-code" value="257"></setfield>
            <setfield name="protocol-version" value="1"></setfield>
        </define>
        <define name="CEA">
            <!-- It's an answer, R bit is unset -->
            <setfield name="flags" value="0"></setfield>
            <setfield name="cmd-code" value="257"></setfield>
            <setfield name="protocol-version" value="1"></setfield>
        </define>

        <!-- Diameter RFC 4006 commands -->
        <define name="CCR">
            <!-- It's a request, R bit is set -->
            <setfield name="flags" value="128"></setfield>
            <setfield name="cmd-code" value="272"></setfield>
            <setfield name="application-id" value="4"></setfield>
            <setfield name="protocol-version" value="1"></setfield>
        </define>
        <define name="CCA">
            <!-- It's an answer, R bit is unset -->
            <setfield name="flags" value="0"></setfield>
            <setfield name="cmd-code" value="272"></setfield>
            <setfield name="application-id" value="4"></setfield>
            <setfield name="protocol-version" value="1"></setfield>
        </define>
    </command>
</dictionary>

`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions