Seagull: an Open Source Multi-protocol traffic generator
Welcome to Seagull!
Seagull is a free, Open Source (GPL) multi-protocol traffic generator test tool. Primarily aimed at IMS (3GPP, TISPAN, CableLabs) protocols (and thus being the perfect complement to SIPp for IMS testing), Seagull is a powerful traffic generator for functional, load, endurance, stress and performance/benchmark tests for almost any kind of protocol.
In addition, its openness allows to add the support of a brand new protocol in less than 2 hours - with no programming knowledge. For that, Seagull comes with several protocol families embedded in the source code:
- Binary/TLV (Diameter, Radius and many 3GPP and IETF protocols)
- External library (TCAP, SCTP)
- Text (XCAP, HTTP, H248 ASCII)
Entirely coded in C++, Seagull is optimized for performances.
Ready to install packages are available for HP-UX (PARisc and IPF/IA64), Linux and Win32 (Cygwin). Seagull can also be compiled from the source code.
A short white paper on Seagull "Seagull - Open Source tool for IMS testing" is available.
Protocols currently supported
Seagull supports currently the following protocols:
- Diameter base ( RFC 3588) and any Diameter relating application - IMS Cx, Dx, Ro, Rf, Sh over TCP or SCTP or TLS over IPv4 or IPv6.
- TCAP ITU and ANSI and any protocol over TCAP (Camel, GSM MAP, IS41, Win, ...) either over SS7 (E1/T1) or SIGTRAN. For that, it relies on HP OpenCall SS7.
- XCAP over HTTP over IPv4
- HTTP over IPv4
- H248/Megaco ASCII form over UDP or TCP or SCTP/IPv4
- Radius (subset) over IPv4.
Seagull has the following features:
- Multi-protocol traffic generator
- Command line tool with text interface
- Protocols of the same family are described in an XML, user editable, dictionary (messages, parameters)
- Existing protocol families: Binary/TLV (Type, Length, Value), Raw binary, Text, external API (first implementation: HP OpenCall SS7)
- Support of IP (UDP/TCP), SCTP, SSL/TLS and SS7/TCAP transports
- Portable programming (tested and supported on Linux x86, ia64, HPUX, SunOS and Windows)
- Scenarios are described using XML files
- Multi-threaded for performances and reliability
- Dynamically adjustable scenario rate
- Uniform, Poisson or Best-effort scenario arrival distribution
- Remote-control (scenario-rate set, counter dump) through standard HTTP interface
- Pause and restart of traffic
- Support of automated traffic profile (varying scenario rate)
- Smooth (no new scenarios then wait for ongoing scenarios to end) or brutal end
- Scenario display with message counters
- Scenarios have init (executed once), main (repeated for traffic) sections
- Scenarios have default sections for defense in case of unexpected messages
- A scenario can be mono (most cases) or multi-protocol
- Message and parameters checking possible (disabled by default)
- Support of parameter injection following a CSV like database
- Multiple Seagull instances can be synchronized in the middle of scenario
- Intra scenario synchronization using a synchronization protocol (example application provided in Java language)
- Statistics: timer between two messages, scenario length, scenario rate, successful scenarios, failed scenarios (with reason)
- Protocol decoding and hexadecimal dump
- Trace files with or without timestamps (for performances and automation)
Better than a thousand words, see Seagull flying:
Seagull is a free and Open Source program, released under the terms of the GNU GPL v2 license.
It is a contribution that HP OpenCall Software provides to the IMS - and protocol - community.
As such, there is no support provided for Seagull, but you can likely get email-based support from the Seagull users community.
Seagull is sponsored by HP OpenCall Software. In addition:
Don't wait any longer: download Seagull, install it and start to run tests now!
by HP OpenCall Software