-
Notifications
You must be signed in to change notification settings - Fork 155
Description
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>
`