New open-sourced test tool : MTS (Multiprotocol Test Suite)

644 views
Skip to first unread message

gwenhael....@devoteam.com

unread,
Mar 8, 2012, 8:52:58 AM3/8/12
to mobicents-public
Hello everyone.

I'm writing this post in order to present you a new test tool (MTS)
that could be compared to sipp.

This tool was recently open-sourced in the beginning of this year
(GPL3) after 5 years of life as a proprietary tool (IMSLoader by
Devoteam). Devoteam decided to open-source this tool but is still
behind it, offering services and expertise.

Everything around this software isn't completly ready and clean still
missing a proper web-site, tutorials, wikis... But the source and
first installation package are available at : http://code.google.com/p/mts-project/

This tool (like sipp) executes XML scripts that describe callflows
(sending messages, receiving messages) and contain some intelligence
(variables operations, tests, loops). The possibilities are almost
mapped on java language (but not directly). It's possible to create
complex and intelligent scripts. MTS is also able to receive and test
captured traffic (using jpcap).

The two main assets are the rich grammar and the variety of supported
protocols (SIP, RTP, RTPFLOW, Diameter, HTTP, RTSP, SMTP, SMPP,
Radius, SIGTRAN, H248, MSRP, SNMP, UCP...). Of course, the point is
to be able to write tests that will realise callflows involving
multiple protocols.

MTS offers multiple control interfaces
- swing GUI for most usages
- swing master and command line slave for distributed lad tests (when
one computer isn't enough)
- command line for automated tests or when a graphical UI isn't
available

This tool can do functionnal or load tests. It can also be used for
prototyping or simulating some functionnalities, gateways, stubs.

This tool is cross-platform (with the exception of some very specific
feature like SCTP support that is only for linux), pure java,
validated and tested with oracle's JVM 1.6, and needs no specific
hardware.

The installer is an IzPack package. Once installed, you'll find
documentations in the MTS/doc folder (please start with the doc_index
document). And many example scripts in MTS/tutorial.

We also have more advanced and specific tools and features that can
create MTS scripts from pcap captures, generate rtp scripts from
wireshark pdml (in order to re-play a media) ...



If you have any questions about this tool feel free to answer this
post, or to subscribe to our own groups :

A read-only group for announcements : https://groups.google.com/group/mts-announcements
A public group for users questions and support : https://groups.google.com/group/mts-users

The groups are empty since this is just the beginning, but they are
operational.

Source and downloads : http://code.google.com/p/mts-project/

See you soon.

Vladimir Ralev

unread,
Mar 12, 2012, 9:41:22 AM3/12/12
to mobicent...@googlegroups.com
Do you support something like the "sipp -t tn" and "sipp -t t1" option for create multiple calls in individual TCP sockets and single shared socket?

Jean Deruelle

unread,
Mar 12, 2012, 10:17:36 AM3/12/12
to mobicent...@googlegroups.com
Thanks for posting here, the tool looks definitely interesting. 
I see that you support RTP. Can you expand on this ?
Are you able to measure quality of a call by example, if we would like to assess build after build the quality of our Mobicents Media Server by emulating a conference call with N Participants by example and make sure the quality is good ? Also which codec does it support ?
Wrt Sigtran which SS7 protocols do you support for testing ?
Same thing for Diameter, which interfaces do you support (Cx/Dx, Ro/Rf, ...) ?

Jean

gwenhael....@devoteam.com

unread,
Mar 12, 2012, 10:51:36 AM3/12/12
to mobicents-public
About RTP :

- we are able to mesure the protocol quality (packet loss,
jitter, ...) but we do not handle the codecs (audio quality is a
complicated topic). We are able to extrapolate a MOS note from the
transport quality (depending on the codec) but we do not analyse the
payload; when sending audio, we usually re-play a reference capture
(we extract the payload from a wireshark capture).

- it is completely possible to write a SIP + RTP script that will
establish a conference, and send RTP. such a script can be started
from command line and integrated in non-regression tests.

About SS7 :

- i must confess the support of this protocol is quite experimental,
it needs some testing before beeing able to test something else :-) It
might be interesting to confront it with your implementation. I'd need
to refresh myself about the status of this protocol's support.

About Diameter :

- MTS only supports the DIAMETER protocol as a transport, not
specific interfaces. You can send any message, of any interfaces (you
chose yourself which AVPs to send). In order to have human readable
scripts and logs, we base ourselves on the wireshark dictionaries. I
think we do have scripts exemples in the "tutorial" of MTS's
installation for many interfaces (you can just copy/paste the
messages). But the classical way to do it, is to check the interface
specification while writing the scripts.

On 12 mar, 15:17, Jean Deruelle <jean.derue...@gmail.com> wrote:
> Thanks for posting here, the tool looks definitely interesting.
> I see that you support RTP. Can you expand on this ?
> Are you able to measure quality of a call by example, if we would like to
> assess build after build the quality of our Mobicents Media Server by
> emulating a conference call with N Participants by example and make sure
> the quality is good ? Also which codec does it support ?
> Wrt Sigtran which SS7 protocols do you support for testing ?
> Same thing for Diameter, which interfaces do you support (Cx/Dx, Ro/Rf,
> ...) ?
>
> Jean
>
> On Mon, Mar 12, 2012 at 2:41 PM, Vladimir Ralev <vladimir.ra...@gmail.com>wrote:
>
>
>
> > Do you support something like the "sipp -t tn" and "sipp -t t1" option for
> > create multiple calls in individual TCP sockets and single shared socket?
>
> >> See you soon.- Masquer le texte des messages précédents -
>
> - Afficher le texte des messages précédents -

gwenhael....@devoteam.com

unread,
Mar 12, 2012, 10:35:12 AM3/12/12
to mobicents-public
Hello.

The "level" of MTS scripts is slightly lower than sipp. We have the
notion of "Listenpoint" and "Channel". For SIP, each listenpoint is a
socket (UDP and/or TCP and/or TLS).

When sending a SIP message, you can specify the Listenpoint you want
to use. It's up to you to create one listepoint per user (emulate UA),
or use the same for all users (emulate SCSCF), or any other policy
you'd like.

You can emulate up to thousands of registered users (with different
sockets) and simultaneous calls (however those scripts are advanced
must be carefully writed).

On 12 mar, 14:41, Vladimir Ralev <vladimir.ra...@gmail.com> wrote:
> Do you support something like the "sipp -t tn" and "sipp -t t1" option for
> create multiple calls in individual TCP sockets and single shared socket?
>
> On Thu, Mar 8, 2012 at 3:52 PM, gwenhael.pasqui...@devoteam.com <

gwenhael....@devoteam.com

unread,
Mar 13, 2012, 4:57:54 AM3/13/12
to mobicents-public
I forgot some things about SS7.
- I was talking about SIGTRAN, i confused the two protocol famillies.
We don't support any hardware. When we want to do RTC, ISDN tests
(might be good for SS7), we use an asterisk configured as a SIP <->
XXX gateway ans MTS only "controls" the gateway with SIP/RTP. Of
course we have far less control on the protocol messages, but we are
able to do automated (more or less) basic calls.


On 12 mar, 15:51, "gwenhael.pasqui...@devoteam.com"
> > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

Alexandre Mendonça

unread,
Mar 28, 2012, 3:01:58 PM3/28/12
to mobicent...@googlegroups.com
Hi,

Do you support/have tried to run it under Mac OS ? I've tried with some "hacks" to get past install due to the JRE path which I honestly don't know where to point to, since usual locations failed.

After that I was able to run, but some actions failed, such as Edit or Showing reports.. so i think it may be some issue with launching the Apps in Mac OS.

--
Alexandre Mendonça // JBoss R&D
http://ammendonca.blogspot.com/

Pasquiers Gwenhael

unread,
Mar 28, 2012, 3:11:02 PM3/28/12
to mobicent...@googlegroups.com
Hi;

I must admit we don't have the occasion to test it on mac.

We told IzPack to accept a directory that contains "lib/rt.jar" as a criteria to detect it as a valid JRE path. Is this valid on MAC ? It is on linux, windows...

For editing and showing report, you can edit the file : conf/tester.properties
There are two entries :

gui.EDITOR_PATH
stats.BROWSER_PATH

Those entries should point to their respective executable files.

In a normal installation IzPack automatically fills those entries. But if there was issues or if you couldn't select anything during the install, then you can edit the file.

B.R.



De : mobicent...@googlegroups.com [mobicent...@googlegroups.com] de la part de Alexandre Mendonça [brai...@gmail.com]
Date d'envoi : mercredi 28 mars 2012 21:01
À : mobicent...@googlegroups.com
Objet : Re: [mobicents-public] Re: New open-sourced test tool : MTS (Multiprotocol Test Suite)

Alexandre Mendonça

unread,
Mar 28, 2012, 5:37:06 PM3/28/12
to mobicent...@googlegroups.com
Hi,

Yes, it is different in Mac, as usual :) Attached is a list of jars in the JRE folder, in case you want to add support for it (note that there's the alt-rt.jar). The problem is that during installation if the JRE is not properly filled (and nothing is automatically filled) the "Next" button will be disabled.. there's some tricks needed to do in order to bypass it.

Regarding editor and browser, I've already been there editing those values as well but it wasn't working.. then I've looked at the logs:

315;28.03.2012 22:30:01 557;ERROR;null;Exception occured: java.lang.Exception: Unable to start editor
                                        CAUSE: Unable to start editor
                                        CAUSE: Cannot run program ""/Applications/Smultron.app/Contents/MacOS/Smultron"": error=2, No such file or directory

And after I've removed the quotes from the properties, it worked fine.

So I guess it is now fully functional.

Regards,

--
Alexandre Mendonça // JBoss R&D
http://ammendonca.blogspot.com/



jars.txt

Pasquiers Gwenhael

unread,
Mar 29, 2012, 10:53:44 AM3/29/12
to mobicent...@googlegroups.com
OK, thanks for your input.

The quotes are a little bit of an issue because depending on the OS (windows, linux) you might have to put them or not, depending on the face there is a space or not in the path.

Je JRE path is an headache too.

One installer to bind them all... maybe almost all ;-)

To make the installer happy you could create the following file : /some/path/fake_jre/lib/rt.jar and make him point at "/some/path/fake_jre/" he should be happy and install. Later on you should change mts/bin/java_home to a valid home (as long as it contains bin/java it will be okay).

I didn't find any more elegant way to do a completely cross-platform (but a little bit automatic) install. Maybe the better would be to allow any directory and trust the user to point the directory containing the java command (with IzPack, i cannot check the presence of "java" OR ("java.exe" AND "javaw.exe").

I'll try to see if i can test that on a mac; or an hackintosh VM and find a more satisfying solution for mts 5.5

B.R.


Date d'envoi : mercredi 28 mars 2012 23:37
À : mobicent...@googlegroups.com
Objet : Re: RE : [mobicents-public] Re: New open-sourced test tool : MTS (Multiprotocol Test Suite)

Reply all
Reply to author
Forward
0 new messages