m3ua-testtool/README.md

73 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

2016-08-27 18:55:22 +00:00
# M3UA Testtool and Testsuite
2016-08-27 15:37:58 +00:00
A test tool for M3UA as specified in [RFC 3332](https://tools.ietf.org/html/rfc3332),
which is obsoleted by [RFC 4666](https://tools.ietf.org/html/rfc4666), and the ETSI specification
[ETSI TS 102 142](http://www.etsi.org/deliver/etsi_ts/102100_102199/102142/01.01.01_60/ts_102142v010101p.pdf).
The tests are based on the ETSI test specification
[ETSI TS 102 381](http://www.etsi.org/deliver/etsi_ts/102300_102399/102381/01.01.01_60/ts_102381v010101p.pdf).
2016-09-16 21:07:28 +00:00
This tool uses [guile](https://www.gnu.org/software/guile/) and its extension
[guile-sctp](https://github.com/nplab/guile-sctp) for adding SCTP support.
2016-09-16 21:39:25 +00:00
Please see [README](https://github.com/nplab/guile-sctp/blob/master/README.md#installation) for installation instructions.
2016-08-27 15:41:47 +00:00
2016-09-16 20:26:10 +00:00
## Installation
2016-09-16 21:53:12 +00:00
For downloading the tool and the tests run
```
git clone https://github.com/nplab/m3ua-testtool.git
2016-09-16 21:54:43 +00:00
cd m3ua-testtool
2016-09-16 21:53:12 +00:00
```
2016-09-17 07:38:03 +00:00
Then compile the `runm3uatest` using
2016-09-16 21:53:12 +00:00
```
cc -o runm3uatest runm3uatest.c
2016-09-17 07:38:03 +00:00
```
and install the binary. For example, you can issue on Linux
```
2016-09-16 21:53:12 +00:00
sudo cp runm3uatest /usr/bin
```
2016-09-17 07:38:03 +00:00
or do the following under FreeBSD
```
sudo cp runm3uatest /usr/local/bin
```
2016-09-16 21:54:43 +00:00
2016-09-16 21:53:12 +00:00
Finally change the line in `dotguile`
```
(define dir "/Users/tuexen/Documents/m3ua-testtool/")
```
to reflect the location of the `m3ua-testtool` directory and run
```
cp dotguile ~/.guile
```
2016-09-16 20:26:38 +00:00
## Configuration
2016-09-17 08:16:21 +00:00
The test tool is configured by editing the file `m3ua-param-testtool.scm`. You can change
the IP-address and SCTP port numbers used by the test tool and the system under test by
modifying the entries:
```
(define sut-addr "127.0.0.1")
(define sut-port 0)
```
and
```
(define tester-addr "127.0.0.1")
(define tester-port m3ua-port)
```
Further down, you can also define point codes, routing contexts and even parameters sent in the M3UA handshake.
2016-09-17 08:20:19 +00:00
2016-09-16 20:26:38 +00:00
## Usage
2016-09-17 11:24:16 +00:00
On Linux, SCTP support is implemented via a loadable kernel module. To load this module, run `sudo modprobe sctp`.
2016-09-17 11:25:26 +00:00
For FreeBSD and Solaris, no action is needed to use SCTP.
2016-09-17 11:24:16 +00:00
2016-09-17 08:20:19 +00:00
You can run specfic tests using the `runm3uatest`. For example, to run the `m3ua-asp-aspsm-v-002` test, execute
```
runm3uatest m3ua-asp-aspsm-v-002
```
You can also run a selection of ASP tests by using the `tcsh` script
```
m3ua-testtool/run-some-asp-tests
```
or a selection of SGP tests by running the `tcsh` script
```
m3ua-testtool/run-some-sgp-tests
```
2016-09-17 08:23:03 +00:00
Please note that you must verify the verdict by double checking the message flows.
This can be done by using a protocol analyzer like [Wireshark](https://www.wireshark.org).